home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr47 / ucrasm27.zip / TEST.ZIP / TESTFP.ASM < prev    next >
Assembly Source File  |  1992-06-19  |  59KB  |  4,644 lines

  1.         include        stdlib.a
  2.         includelib     stdlib.lib
  3. ;
  4. lesi        macro    adrs
  5.         mov     di, seg adrs
  6.         mov    es, di
  7.         lea    di, adrs
  8.         endm
  9. ;
  10. ldxi        macro    adrs
  11.         mov    dx, seg adrs
  12.         lea    si, adrs
  13.         endm
  14. ;
  15. ;****************************************************************************
  16. ;
  17. ; T  E  S  T       S  U  I  T  E      F  O  R
  18. ;
  19. ;    Floating Point Routines in
  20. ;
  21. ; T H E   U C R     S  T  A  N  D  A  R  D
  22. ;
  23. ; L  I  B  R  A  R  Y     F  O  R     A  S  S  E  M  B  L  Y
  24. ;
  25. ; L  A  N  G  U  A  G  E     P  R  O  G  R  A  M  M  E  R  S
  26. ;
  27. ;****************************************************************************
  28. ;
  29. ;
  30. ; Global variables go here:
  31. ;
  32. StdData        segment    para public 'sldata'
  33.         extrn    fpacc:byte
  34. StdData        ends
  35. ;
  36. ;
  37. dseg        segment    para public 'data'
  38. ;
  39. MemAvail    dw    ?
  40. ;
  41. Roundatof    dt    5.0e-19
  42. ;
  43. ; Floating point values:
  44. ;
  45. SPConst1    dd    1.0
  46. SPConst10    dd    -10.25
  47. SPConst100    dd    100.50
  48. SPConst1000    dd    -1000.75
  49. SPConst10000    dd    10000.22
  50. SPConst100000    dd    -100000.44
  51. SPConst1000000    dd    1000000.66
  52. SPConst123456    dd    -123456.88
  53. SPConst65432    dd    65432.11
  54. SPConst9876    dd    -9876.33
  55. SPConst192    dd    192.55
  56. SPConst38    dd    -38.77
  57. SPConst9    dd    9.99
  58. ;
  59. DPConst1    dq    1.0
  60. DPConst10    dq    -10.25
  61. DPConst100    dq    100.50
  62. DPConst1000    dq    -1000.75
  63. DPConst10000    dq    10000.22
  64. DPConst100000    dq    -100000.44
  65. DPConst1000000    dq    123456789012345678.66
  66. DPConst123456    dq    -123456.88
  67. DPConst65432    dq    65432.11
  68. DPConst9876    dq    -9876.33
  69. DPConst192    dq    192.55
  70. DPConst38    dq    -38.77
  71. DPConst9    dq    9.99
  72. ;
  73. EPConst1    dt    1.0
  74. EPConst10    dt    -10.25
  75. EPConst100    dt    100.50
  76. EPConst1000    dt    -1000.75
  77. EPConst10000    dt    10000.22
  78. EPConst100000    dt    -100000.44
  79. EPConst1000000    dt    123456789012345678901.66
  80. EPConst123456    dt    -123456.88
  81. EPConst65432    dt    65432.11
  82. EPConst9876    dt    -9876.33
  83. EPConst192    dt    192.55
  84. EPConst38    dt    -38.77
  85. EPConst9    dt    9.99
  86. ;
  87. Temp        dt    ?
  88. Output        db      128 dup (0)        ;Tests ftoa/2
  89. ;
  90. Testatof1    db    "1.2345678901234567890",0
  91. Testatof2    db    "1.23456789",0
  92. Testatof3    db    "123456789",0
  93. Testatof4    db    "-1.0",0
  94. Testatof5    db    "1.0e10",0
  95. Testatof6    db    "-1.0e10",0
  96. Testatof7    db    "1.0e-10",0
  97. Testatof8    db    "-1.0e-10",0
  98. Testatof9    db    "1234567890e-9",0
  99. Testatof10    db    "1.0e0",0
  100. Testatof11    db    "1.0e1",0
  101. Testatof12    db    "1.0e2",0
  102. Testatof13    db    "1.0e3",0
  103. Testatof14    db    "1.0e4",0
  104. Testatof15    db    "1.0e5",0
  105. Testatof16    db    "1.0e7",0
  106. Testatof17    db    "1.0e8",0
  107. Testatof18    db    "1.0e9",0
  108. Testatof19    db    "1.0e15",0
  109. Testatof20    db    "1.0e16",0
  110. Testatof21    db    "1.0e17",0
  111. Testatof22    db    "1.0e31",0
  112. Testatof23    db    "1.0e32",0
  113. Testatof24    db    "1.0e33",0
  114. Testatof25    db    "1.0e63",0
  115. Testatof26    db    "1.0e64",0
  116. Testatof27    db    "1.0e65",0
  117. Testatof28    db    "1.0e127",0
  118. Testatof29    db    "1.0e128",0
  119. Testatof30    db    "1.0e129",0
  120. Testatof31    db    "1.0e255",0
  121. Testatof32    db    "1.0e256",0
  122. Testatof33    db    "1.0e257",0
  123. Testatof34    db    "1.0e511",0
  124. Testatof35    db    "1.0e512",0
  125. Testatof36    db    "1.0e513",0
  126. Testatof37    db    "1.0e1023",0
  127. Testatof38    db    "1.0e1024",0
  128. Testatof39    db    "1.0e1025",0
  129. Testatof40    db    "1.0e2048",0
  130. ;
  131. Testatof41    db    "9.999999999999999e0",0
  132. Testatof42    db    "9.999999999999999e1",0
  133. Testatof43    db    "9.999999999999999e3",0
  134. Testatof44    db    "9.999999999999999e7",0
  135. Testatof45    db    "9.999999999999999e15",0
  136. Testatof46    db    "9.999999999999999e31",0
  137. Testatof47    db    "9.999999999999999e63",0
  138. Testatof48    db    "9.999999999999999e127",0
  139. Testatof49    db    "9.999999999999999e255",0
  140. Testatof50    db    "9.999999999999999e511",0
  141. Testatof51    db    "9.999999999999999e1023",0
  142. Testatof52    db    "9.999999999999999e2047",0
  143. ;
  144. mTestatof11    db    "1.0e-1",0
  145. mTestatof12    db    "1.0e-2",0
  146. mTestatof13    db    "1.0e-3",0
  147. mTestatof14    db    "1.0e-4",0
  148. mTestatof15    db    "1.0e-5",0
  149. mTestatof16    db    "1.0e-7",0
  150. mTestatof17    db    "1.0e-8",0
  151. mTestatof18    db    "1.0e-9",0
  152. mTestatof19    db    "1.0e-15",0
  153. mTestatof20    db    "1.0e-16",0
  154. mTestatof21    db    "1.0e-17",0
  155. mTestatof22    db    "1.0e-31",0
  156. mTestatof23    db    "1.0e-32",0
  157. mTestatof24    db    "1.0e-33",0
  158. mTestatof25    db    "1.0e-63",0
  159. mTestatof26    db    "1.0e-64",0
  160. mTestatof27    db    "1.0e-65",0
  161. mTestatof28    db    "1.0e-127",0
  162. mTestatof29    db    "1.0e-128",0
  163. mTestatof30    db    "1.0e-129",0
  164. mTestatof31    db    "1.0e-255",0
  165. mTestatof32    db    "1.0e-256",0
  166. mTestatof33    db    "1.0e-257",0
  167. mTestatof34    db    "1.0e-511",0
  168. mTestatof35    db    "1.0e-512",0
  169. mTestatof36    db    "1.0e-513",0
  170. mTestatof37    db    "1.0e-1023",0
  171. mTestatof38    db    "1.0e-1024",0
  172. mTestatof39    db    "1.0e-1025",0
  173. mTestatof40    db    "1.0e-2048",0
  174. ;
  175. mTestatof41    db    "9.999999999999999e-1",0
  176. mTestatof42    db    "9.999999999999999e-2",0
  177. mTestatof43    db    "9.999999999999999e-3",0
  178. mTestatof44    db    "9.999999999999999e-5",0
  179. mTestatof45    db    "9.999999999999999e-9",0
  180. mTestatof46    db    "9.999999999999999e-17",0
  181. mTestatof47    db    "9.999999999999999e-33",0
  182. mTestatof48    db    "9.999999999999999e-65",0
  183. mTestatof49    db    "9.999999999999999e-129",0
  184. mTestatof50    db    "9.999999999999999e-257",0
  185. mTestatof51    db    "9.999999999999999e-513",0
  186. mTestatof52    db    "9.999999999999999e-1025",0
  187. Testatof53    db    "9.999999999999999e-2049",0
  188.  
  189.  
  190.  
  191. dseg        ends
  192.  
  193.  
  194.  
  195.  
  196. cseg        segment    para public 'code'
  197.         assume    cs:cseg, ds:dseg
  198.  
  199.  
  200.  
  201.  
  202.         public    PSP
  203. PSP        dw    ?
  204.  
  205. ;
  206. ;
  207. ; Main is the main program.  Program execution always begins here.
  208. ;
  209. Main        proc
  210.         mov    cs:PSP, es        ;Save pgm seg prefix
  211.         mov    ax, seg dseg        ;Set up the segment registers
  212.         mov    ds, ax
  213.         mov    es, ax
  214.         mov    dx, 0            ;Allocate all available RAM.
  215.         MemInit
  216.         mov    MemAvail, cx
  217.         printf
  218.         db    "There are %x paragraphs of memory available."
  219.         db    cr,lf,lf,0
  220.         dd    MemAvail
  221. ;
  222. ;
  223. ;
  224. ;
  225. ;***************************************************************************
  226. ;
  227. ; Test the floating point routines.
  228.  
  229.  
  230.  
  231.         print
  232.         db    "Testing fpadd with some (previously) troublesome "
  233.         db    "values:",cr,lf,0
  234.  
  235.         print
  236.         db    "0+0 = ",0
  237.         lefpal
  238.         dt    0.0
  239.         lefpol
  240.         dt    0.0
  241.         fpadd
  242.         mov    ax, 208h
  243.         ftoam
  244.  
  245.         puts
  246.         free
  247.         putcr
  248.  
  249.         print
  250.         db    "1+0 = ",0
  251.         lefpal
  252.         dt    1.0
  253.         lefpol
  254.         dt    0.0
  255.         fpadd
  256.         mov    ax, 208h
  257.         ftoam
  258.         puts
  259.         free
  260.         putcr
  261.  
  262.         print
  263.         db    "0+1 = ",0
  264.         lefpal
  265.         dt    0.0
  266.         lefpol
  267.         dt    1.0
  268.         fpadd
  269.         mov    ax, 208h
  270.         ftoam
  271.         puts
  272.         free
  273.         putcr
  274.  
  275.         print
  276.         db    "1+(-1) = ",0
  277.         lefpal
  278.         dt    1.0
  279.         lefpol
  280.         dt    -1.0
  281.         fpadd
  282.         mov    ax, 208h
  283.         ftoam
  284.         puts
  285.         free
  286.         putcr
  287.  
  288.  
  289.         print
  290.         db    "Testing fpmul with some (previously) troublesome "
  291.         db    "values:",cr,lf,0
  292.  
  293.         print
  294.         db    "0*0 = ",0
  295.         lefpal
  296.         dt    0.0
  297.         lefpol
  298.         dt    0.0
  299.         fpmul
  300.         mov    ax, 208h
  301.         ftoam
  302.  
  303.         puts
  304.         free
  305.         putcr
  306.  
  307.         print
  308.         db    "1*0 = ",0
  309.         lefpal
  310.         dt    1.0
  311.         lefpol
  312.         dt    0.0
  313.         fpmul
  314.         mov    ax, 208h
  315.         ftoam
  316.         puts
  317.         free
  318.         putcr
  319.  
  320.         print
  321.         db    "0*1 = ",0
  322.         lefpal
  323.         dt    0.0
  324.         lefpol
  325.         dt    1.0
  326.         fpmul
  327.         mov    ax, 208h
  328.         ftoam
  329.         puts
  330.         free
  331.         putcr
  332.  
  333.         print
  334.         db    "1*(-1) = ",0
  335.         lefpal
  336.         dt    1.0
  337.         lefpol
  338.         dt    -1.0
  339.         fpMul
  340.         mov    ax, 208h
  341.         ftoam
  342.         puts
  343.         free
  344.         putcr
  345.  
  346.  
  347.  
  348.         print
  349.         db    cr,lf
  350.         db    "Testing ftoa with some (previously) troublesome "
  351.         db    "values:",cr,lf,0
  352.  
  353.         print
  354.         db    "3999.0 = ",0
  355.         lefpal
  356.         dt    3999.0
  357.         mov    ax, 208h
  358.         ftoam
  359.         puts
  360.         free
  361.         putcr
  362.  
  363.         print
  364.         db    "4000.0 = ",0
  365.         lefpal
  366.         dt    4000.0
  367.         mov    ax, 208h
  368.         ftoam
  369.         puts
  370.         free
  371.         putcr
  372.  
  373.         print
  374.         db    "4001.0 = ",0
  375.         lefpal
  376.         dt    4001.0
  377.         mov    ax, 208h
  378.         ftoam
  379.         puts
  380.         free
  381.         putcr
  382.  
  383.         print
  384.         db    "4090.0 = ",0
  385.         lefpal
  386.         dt    4090.0
  387.         mov    ax, 208h
  388.         ftoam
  389.         puts
  390.         free
  391.         putcr
  392.  
  393.         print
  394.         db    "4095.0 = ",0
  395.         lefpal
  396.         dt    4095.0
  397.         mov    ax, 208h
  398.         ftoam
  399.         puts
  400.         free
  401.         putcr
  402.  
  403.         print
  404.         db    "4096.0 = ",0
  405.         lefpal
  406.         dt    4096.0
  407.         mov    ax, 208h
  408.         ftoam
  409.         puts
  410.         free
  411.         putcr
  412.  
  413.         print
  414.         db    "7999.0 = ",0
  415.         lefpal
  416.         dt    7999.0
  417.         mov    ax, 208h
  418.         ftoam
  419.         puts
  420.         free
  421.         putcr
  422.  
  423.         print
  424.         db    "8000.0 = ",0
  425.         lefpal
  426.         dt    8000.0
  427.         mov    ax, 208h
  428.         ftoam
  429.         puts
  430.         free
  431.         putcr
  432.  
  433.         print
  434.         db    "8001.0 = ",0
  435.         lefpal
  436.         dt    8001.0
  437.         mov    ax, 208h
  438.         ftoam
  439.         puts
  440.         free
  441.         putcr
  442.  
  443.         print
  444.         db    "8100.0 = ",0
  445.         lefpal
  446.         dt    8100.0
  447.         mov    ax, 208h
  448.         ftoam
  449.         puts
  450.         free
  451.         putcr
  452.  
  453.         print
  454.         db    "8191.0 = ",0
  455.         lefpal
  456.         dt    8191.0
  457.         mov    ax, 208h
  458.         ftoam
  459.         puts
  460.         free
  461.         putcr
  462.  
  463.  
  464.         print
  465.         db    "8192.0 = ",0
  466.         lefpal
  467.         dt    8192.0
  468.         mov    ax, 208h
  469.         ftoam
  470.         puts
  471.         free
  472.         putcr
  473.  
  474.         print
  475.         db    "15999.0 = ",0
  476.         lefpal
  477.         dt    15999.0
  478.         mov    ax, 209h
  479.         ftoam
  480.         puts
  481.         free
  482.         putcr
  483.  
  484.         print
  485.         db    "16000.0 = ",0
  486.         lefpal
  487.         dt    16000.0
  488.         mov    ax, 209h
  489.         ftoam
  490.         puts
  491.         free
  492.         putcr
  493.  
  494.         print
  495.         db    "16001.0 = ",0
  496.         lefpal
  497.         dt    16001.0
  498.         mov    ax, 209h
  499.         ftoam
  500.         puts
  501.         free
  502.         putcr
  503.  
  504.         print
  505.         db    "16100.0 = ",0
  506.         lefpal
  507.         dt    16100.0
  508.         mov    ax, 209h
  509.         ftoam
  510.         puts
  511.         free
  512.         putcr
  513.  
  514.         print
  515.         db    "16383.0 = ",0
  516.         lefpal
  517.         dt    16383.0
  518.         mov    ax, 209h
  519.         ftoam
  520.         puts
  521.         free
  522.         putcr
  523.  
  524.         print
  525.         db    "16384.0 = ",0
  526.         lefpal
  527.         dt    16384.0
  528.         mov    ax, 209h
  529.         ftoam
  530.         puts
  531.         free
  532.         putcr
  533.  
  534.  
  535.         print
  536.         db    cr,lf
  537.         db    "Testing itof:",cr,lf,0
  538. ;
  539.         mov    ax, 1
  540. Testitoflp:    push    ax
  541.         mov    cx, 6
  542.         putisize
  543.         print
  544.         db    " = ",0
  545.         itof
  546.         mov    ax, 209h
  547.         ftoam
  548.         puts
  549.         free
  550.         call    putfpacc
  551.         putcr
  552.         pop    ax
  553.         cmp    ax, 10000
  554.         jg    TestItofDone
  555.         cmp    ax, -10000
  556.         jl    TestItofDone
  557.         mov    cx, ax
  558.         mov    bx, -10
  559.         mul    bx
  560.         add    ax, cx
  561.         jmp       Testitoflp
  562. ;
  563. TestItofDone:   putcr
  564. ;
  565. ;----
  566. ;
  567.         print
  568.         db    "Testing utof:",cr,lf,0
  569. ;
  570.         mov    ax, 1
  571. Testutoflp:    push    ax
  572.         mov    cx, 5
  573.         putusize
  574.         print
  575.         db    " = ",0
  576.         utof
  577.         mov    ax, 209h
  578.         ftoam
  579.         puts
  580.         free
  581.         call    putfpacc
  582.         putcr
  583.         pop    ax
  584.         cmp    ax, 10000
  585.         ja    TestUtofDone
  586.         mov    cx, ax
  587.         mov    bx, 10
  588.         mul    bx
  589.         add    ax, cx
  590.         jmp       Testutoflp
  591. ;
  592. TestUtofDone:   putcr
  593. ;
  594. ;----
  595. ;
  596.         print
  597.         db    "Testing ltof:",cr,lf,0
  598. ;
  599.         mov    ax, 1
  600.         mov    dx, 0
  601. Testltoflp:    push    ax
  602.         push    dx
  603.         mov    cx, 11
  604.         putlsize
  605.         print
  606.         db    " = ",0
  607.         ltof
  608.         mov    ax, 20eh
  609.         ftoam
  610.         puts
  611.         free
  612.         call    putfpacc
  613.         putcr
  614.         pop    dx
  615.         pop    ax
  616.         push    dx
  617.         cmp    ax, 0ca00h        ;low(1e9)
  618.         sbb    dx, 3b9ah        ;high(1e9)
  619.         pop    dx
  620.         ja    TestLtofDone
  621.         shl    ax, 1            ;Multiply by 10.
  622.         rcl    dx, 1
  623.         mov    si, ax
  624.         mov    di, dx
  625.         shl    ax, 1
  626.         rcl    dx, 1
  627.         shl    ax, 1
  628.         rcl    dx, 1
  629.         add    ax, si
  630.         adc    dx, di
  631.         jmp       Testltoflp
  632. ;
  633. TestLtofDone:   putcr
  634. ;
  635.         mov    ax, -1
  636.         mov    dx, -1
  637. Testltoflp2:    push    ax
  638.         push    dx
  639.         mov    cx, 11
  640.         putlsize
  641.         print
  642.         db    " = ",0
  643.         ltof
  644.         mov    ax, 20eh
  645.         ftoam
  646.         puts
  647.         free
  648.         call    putfpacc
  649.         putcr
  650.         pop    dx
  651.         pop    ax
  652.         push    dx
  653.         push    ax
  654.         sub    ax, 3600h        ;low(-1e9)
  655.         sbb    dx, 0c465h        ;high(1e9)
  656.         pop    ax
  657.         pop    dx
  658.         jb    TestLtofDone2
  659.         shl    ax, 1            ;Multiply by 10.
  660.         rcl    dx, 1
  661.         mov    si, ax
  662.         mov    di, dx
  663.         shl    ax, 1
  664.         rcl    dx, 1
  665.         shl    ax, 1
  666.         rcl    dx, 1
  667.         add    ax, si
  668.         adc    dx, di
  669.         jmp       Testltoflp2
  670. ;
  671. TestLtofDone2:  putcr
  672. ;
  673.         print
  674.         db    cr,lf
  675.         db    "Testing ULTOF",cr,lf,0
  676. ;
  677.         mov    ax, 1
  678.         mov    dx, 0
  679. Testultoflp2:    push    ax
  680.         push    dx
  681.         mov    cx, 11
  682.         putulsize
  683.         print
  684.         db    " = ",0
  685.         ultof
  686.         mov    ax, 20eh
  687.         ftoam
  688.         puts
  689.         free
  690.         call    putfpacc
  691.         putcr
  692.         pop    dx
  693.         pop    ax
  694.         push    dx
  695.         push    ax
  696.         sub    ax, 3600h        ;low(-1e9)
  697.         sbb    dx, 0c465h        ;high(1e9)
  698.         pop    ax
  699.         pop    dx
  700.         ja    TestuLtofDone2
  701.         shl    ax, 1            ;Multiply by 10.
  702.         rcl    dx, 1
  703.         mov    si, ax
  704.         mov    di, dx
  705.         shl    ax, 1
  706.         rcl    dx, 1
  707.         shl    ax, 1
  708.         rcl    dx, 1
  709.         add    ax, si
  710.         adc    dx, di
  711.         jmp       Testultoflp2
  712. ;
  713. TestuLtofDone2:  putcr
  714. ;
  715. ;
  716. ;----
  717. ;
  718.         print
  719.         db    "Testing LSFPA:",cr,lf,0
  720. ;
  721.         lesi    SPConst1
  722.         lsfpa
  723.         print
  724.         db    "       1.0 =",0
  725.         mov    ax, 20bh
  726.         ftoam
  727.         puts
  728.         putcr
  729.         free
  730. ;
  731.         lesi    SPConst10
  732.         lsfpa
  733.         print
  734.         db    "    -10.25 =",0
  735.         mov    ax, 20bh
  736.         ftoam
  737.         puts
  738.         putcr
  739.         free
  740. ;
  741.         lesi    SPConst100
  742.         lsfpa
  743.         print
  744.         db    "    100.50 =",0
  745.         mov    ax, 20bh
  746.         ftoam
  747.         puts
  748.         putcr
  749.         free
  750. ;
  751.         lesi    SPConst1000
  752.         lsfpa
  753.         print
  754.         db    "  -1000.75 =",0
  755.         mov    ax, 20bh
  756.         ftoam
  757.         puts
  758.         putcr
  759.         free
  760. ;
  761.         lesi    SPConst10000
  762.         lsfpa
  763.         print
  764.         db    "  10000.22 =",0
  765.         mov    ax, 20bh
  766.         ftoam
  767.         puts
  768.         putcr
  769.         free
  770. ;
  771.         lesi    SPConst100000
  772.         lsfpa
  773.         print
  774.         db    " -10000.44 =",0
  775.         mov    ax, 20bh
  776.         ftoam
  777.         puts
  778.         putcr
  779.         free
  780. ;
  781.         lesi    SPConst1000000
  782.         lsfpa
  783.         print
  784.         db    "1000000.66 =",0
  785.         mov    ax, 20bh
  786.         ftoam
  787.         puts
  788.         print
  789.         db    "  Note: only 6-7 significant digits.",cr,lf,0
  790.         free
  791. ;
  792.         lesi    SPConst123456
  793.         lsfpa
  794.         print
  795.         db    "-123456.88 =",0
  796.         mov    ax, 20bh
  797.         ftoam
  798.         puts
  799.         putcr
  800.         free
  801. ;
  802.         lesi    SPConst65432
  803.         lsfpa
  804.         print
  805.         db    "  65432.11 =",0
  806.         mov    ax, 20bh
  807.         ftoam
  808.         puts
  809.         putcr
  810.         free
  811. ;
  812.         lesi    SPConst9876
  813.         lsfpa
  814.         print
  815.         db    "  -9876.33 =",0
  816.         mov    ax, 20bh
  817.         ftoam
  818.         puts
  819.         putcr
  820.         free
  821. ;
  822.         lesi    SPConst192
  823.         lsfpa
  824.         print
  825.         db    "    192.55 =",0
  826.         mov    ax, 20bh
  827.         ftoam
  828.         puts
  829.         putcr
  830.         free
  831. ;
  832.         lesi    SPConst38
  833.         lsfpa
  834.         print
  835.         db    "    -38.77 =",0
  836.         mov    ax, 20bh
  837.         ftoam
  838.         puts
  839.         putcr
  840.         free
  841. ;
  842.         lesi    SPConst9
  843.         lsfpa
  844.         print
  845.         db    "      9.99 =",0
  846.         mov    ax, 20bh
  847.         ftoam
  848.         puts
  849.         putcr
  850.         putcr
  851.         free
  852. ;
  853. ;
  854. ;----
  855. ;
  856.         print
  857.         db    "Testing SSFPA:",cr,lf,0
  858. ;
  859.         lesi    SPConst1
  860.         lsfpa
  861.         lesi    Temp
  862.         ssfpa
  863.         lefpal
  864.         dt    0.0
  865.         lsfpa
  866.         print
  867.         db    "       1.0 =",0
  868.         mov    ax, 20bh
  869.         ftoam
  870.         puts
  871.         putcr
  872.         free
  873. ;
  874.         lesi    SPConst10
  875.         lsfpa
  876.         lesi    Temp
  877.         ssfpa
  878.         lefpal
  879.         dt    0.0
  880.         lsfpa
  881.         print
  882.         db    "    -10.25 =",0
  883.         mov    ax, 20bh
  884.         ftoam
  885.         puts
  886.         putcr
  887.         free
  888. ;
  889.         lesi    SPConst100
  890.         lsfpa
  891.         lesi    Temp
  892.         ssfpa
  893.         lefpal
  894.         dt    0.0
  895.         lsfpa
  896.         print
  897.         db    "    100.50 =",0
  898.         mov    ax, 20bh
  899.         ftoam
  900.         puts
  901.         putcr
  902.         free
  903. ;
  904.         lesi    SPConst1000
  905.         lsfpa
  906.         lesi    Temp
  907.         ssfpa
  908.         lefpal
  909.         dt    0.0
  910.         lsfpa
  911.         print
  912.         db    "  -1000.75 =",0
  913.         mov    ax, 20bh
  914.         ftoam
  915.         puts
  916.         putcr
  917.         free
  918. ;
  919.         lesi    SPConst10000
  920.         lsfpa
  921.         lesi    Temp
  922.         ssfpa
  923.         lefpal
  924.         dt    0.0
  925.         lsfpa
  926.         print
  927.         db    "  10000.22 =",0
  928.         mov    ax, 20bh
  929.         ftoam
  930.         puts
  931.         putcr
  932.         free
  933. ;
  934.         lesi    SPConst100000
  935.         lsfpa
  936.         lesi    Temp
  937.         ssfpa
  938.         lefpal
  939.         dt    0.0
  940.         lsfpa
  941.         print
  942.         db    " -10000.44 =",0
  943.         mov    ax, 20bh
  944.         ftoam
  945.         puts
  946.         putcr
  947.         free
  948. ;
  949.         lesi    SPConst1000000
  950.         lsfpa
  951.         lesi    Temp
  952.         ssfpa
  953.         lefpal
  954.         dt    0.0
  955.         lsfpa
  956.         print
  957.         db    "1000000.66 =",0
  958.         mov    ax, 20bh
  959.         ftoam
  960.         puts
  961.         print
  962.         db    "  Note: only 6-7 significant digits.",cr,lf,0
  963.         free
  964. ;
  965.         lesi    SPConst123456
  966.         lsfpa
  967.         lesi    Temp
  968.         ssfpa
  969.         lefpal
  970.         dt    0.0
  971.         lsfpa
  972.         print
  973.         db    "-123456.88 =",0
  974.         mov    ax, 20bh
  975.         ftoam
  976.         puts
  977.         putcr
  978.         free
  979. ;
  980.         lesi    SPConst65432
  981.         lsfpa
  982.         lesi    Temp
  983.         ssfpa
  984.         lefpal
  985.         dt    0.0
  986.         lsfpa
  987.         print
  988.         db    "  65432.11 =",0
  989.         mov    ax, 20bh
  990.         ftoam
  991.         puts
  992.         putcr
  993.         free
  994. ;
  995.         lesi    SPConst9876
  996.         lsfpa
  997.         lesi    Temp
  998.         ssfpa
  999.         lefpal
  1000.         dt    0.0
  1001.         lsfpa
  1002.         print
  1003.         db    "  -9876.33 =",0
  1004.         mov    ax, 20bh
  1005.         ftoam
  1006.         puts
  1007.         putcr
  1008.         free
  1009. ;
  1010.         lesi    SPConst192
  1011.         lsfpa
  1012.         lesi    Temp
  1013.         ssfpa
  1014.         lefpal
  1015.         dt    0.0
  1016.         lsfpa
  1017.         print
  1018.         db    "    192.55 =",0
  1019.         mov    ax, 20bh
  1020.         ftoam
  1021.         puts
  1022.         putcr
  1023.         free
  1024. ;
  1025.         lesi    SPConst38
  1026.         lsfpa
  1027.         lesi    Temp
  1028.         ssfpa
  1029.         lefpal
  1030.         dt    0.0
  1031.         lsfpa
  1032.         print
  1033.         db    "    -38.77 =",0
  1034.         mov    ax, 20bh
  1035.         ftoam
  1036.         puts
  1037.         putcr
  1038.         free
  1039. ;
  1040.         lesi    SPConst9
  1041.         lsfpa
  1042.         lesi    Temp
  1043.         ssfpa
  1044.         lefpal
  1045.         dt    0.0
  1046.         lsfpa
  1047.         print
  1048.         db    "      9.99 =",0
  1049.         mov    ax, 20bh
  1050.         ftoam
  1051.         puts
  1052.         putcr
  1053.         putcr
  1054.         free
  1055. ;
  1056. ;
  1057. ;----
  1058. ;
  1059.         print
  1060.         db    "Testing LDFPA:",cr,lf,0
  1061. ;
  1062.         lesi    DPConst1
  1063.         ldfpa
  1064.         print
  1065.         db    "       1.0 =",0
  1066.         mov    ax, 20bh
  1067.         ftoam
  1068.         puts
  1069.         putcr
  1070.         free
  1071. ;
  1072.         lesi    DPConst10
  1073.         ldfpa
  1074.         print
  1075.         db    "    -10.25 =",0
  1076.         mov    ax, 20bh
  1077.         ftoam
  1078.         puts
  1079.         putcr
  1080.         free
  1081. ;
  1082.         lesi    DPConst100
  1083.         ldfpa
  1084.         print
  1085.         db    "    100.50 =",0
  1086.         mov    ax, 20bh
  1087.         ftoam
  1088.         puts
  1089.         putcr
  1090.         free
  1091. ;
  1092.         lesi    DPConst1000
  1093.         ldfpa
  1094.         print
  1095.         db    "  -1000.75 =",0
  1096.         mov    ax, 20bh
  1097.         ftoam
  1098.         puts
  1099.         putcr
  1100.         free
  1101. ;
  1102.         lesi    DPConst10000
  1103.         ldfpa
  1104.         print
  1105.         db    "  10000.22 =",0
  1106.         mov    ax, 20bh
  1107.         ftoam
  1108.         puts
  1109.         putcr
  1110.         free
  1111. ;
  1112.         lesi    DPConst100000
  1113.         ldfpa
  1114.         print
  1115.         db    " -10000.44 =",0
  1116.         mov    ax, 20bh
  1117.         ftoam
  1118.         puts
  1119.         putcr
  1120.         free
  1121. ;
  1122.         lesi    DPConst1000000
  1123.         ldfpa
  1124.         print
  1125.         db    "123456789012345678.66 =",0
  1126.         mov    ax, 216h
  1127.         ftoam
  1128.         puts
  1129.         print
  1130.         db    "  Note: only 17 sig. digits.",cr,lf,0
  1131.         free
  1132. ;
  1133.         lesi    DPConst123456
  1134.         ldfpa
  1135.         print
  1136.         db    "-123456.88 =",0
  1137.         mov    ax, 20bh
  1138.         ftoam
  1139.         puts
  1140.         putcr
  1141.         free
  1142. ;
  1143.         lesi    DPConst65432
  1144.         ldfpa
  1145.         print
  1146.         db    "  65432.11 =",0
  1147.         mov    ax, 20bh
  1148.         ftoam
  1149.         puts
  1150.         putcr
  1151.         free
  1152. ;
  1153.         lesi    DPConst9876
  1154.         ldfpa
  1155.         print
  1156.         db    "  -9876.33 =",0
  1157.         mov    ax, 20bh
  1158.         ftoam
  1159.         puts
  1160.         putcr
  1161.         free
  1162. ;
  1163.         lesi    DPConst192
  1164.         ldfpa
  1165.         print
  1166.         db    "    192.55 =",0
  1167.         mov    ax, 20bh
  1168.         ftoam
  1169.         puts
  1170.         putcr
  1171.         free
  1172. ;
  1173.         lesi    DPConst38
  1174.         ldfpa
  1175.         print
  1176.         db    "    -38.77 =",0
  1177.         mov    ax, 20bh
  1178.         ftoam
  1179.         puts
  1180.         putcr
  1181.         free
  1182. ;
  1183.         lesi    DPConst9
  1184.         ldfpa
  1185.         print
  1186.         db    "      9.99 =",0
  1187.         mov    ax, 20bh
  1188.         ftoam
  1189.         puts
  1190.         putcr
  1191.         putcr
  1192.         free
  1193. ;
  1194. ;
  1195. ;----
  1196. ;
  1197.         print
  1198.         db    "Testing SDFPA:",cr,lf,0
  1199. ;
  1200.         lesi    DPConst1
  1201.         ldfpa
  1202.         lesi    Temp
  1203.         sdfpa
  1204.         lefpal
  1205.         dt    0.0
  1206.         ldfpa
  1207.         print
  1208.         db    "       1.0 =",0
  1209.         mov    ax, 20bh
  1210.         ftoam
  1211.         puts
  1212.         putcr
  1213.         free
  1214. ;
  1215.         lesi    DPConst10
  1216.         ldfpa
  1217.         lesi    Temp
  1218.         sdfpa
  1219.         lefpal
  1220.         dt    0.0
  1221.         ldfpa
  1222.         print
  1223.         db    "    -10.25 =",0
  1224.         mov    ax, 20bh
  1225.         ftoam
  1226.         puts
  1227.         putcr
  1228.         free
  1229. ;
  1230.         lesi    DPConst100
  1231.         ldfpa
  1232.         lesi    Temp
  1233.         sdfpa
  1234.         lefpal
  1235.         dt    0.0
  1236.         ldfpa
  1237.         print
  1238.         db    "    100.50 =",0
  1239.         mov    ax, 20bh
  1240.         ftoam
  1241.         puts
  1242.         putcr
  1243.         free
  1244. ;
  1245.         lesi    DPConst1000
  1246.         ldfpa
  1247.         lesi    Temp
  1248.         sdfpa
  1249.         lefpal
  1250.         dt    0.0
  1251.         ldfpa
  1252.         print
  1253.         db    "  -1000.75 =",0
  1254.         mov    ax, 20bh
  1255.         ftoam
  1256.         puts
  1257.         putcr
  1258.         free
  1259. ;
  1260.         lesi    DPConst10000
  1261.         ldfpa
  1262.         lesi    Temp
  1263.         sdfpa
  1264.         lefpal
  1265.         dt    0.0
  1266.         ldfpa
  1267.         print
  1268.         db    "  10000.22 =",0
  1269.         mov    ax, 20bh
  1270.         ftoam
  1271.         puts
  1272.         putcr
  1273.         free
  1274. ;
  1275.         lesi    DPConst100000
  1276.         ldfpa
  1277.         lesi    Temp
  1278.         sdfpa
  1279.         lefpal
  1280.         dt    0.0
  1281.         ldfpa
  1282.         print
  1283.         db    " -10000.44 =",0
  1284.         mov    ax, 20bh
  1285.         ftoam
  1286.         puts
  1287.         putcr
  1288.         free
  1289. ;
  1290.         lesi    DPConst1000000
  1291.         ldfpa
  1292.         lesi    Temp
  1293.         sdfpa
  1294.         lefpal
  1295.         dt    0.0
  1296.         ldfpa
  1297.         print
  1298.         db    "123456789012345678.66 =",0
  1299.         mov    ax, 216h
  1300.         ftoam
  1301.         puts
  1302.         print
  1303.         db    "  Note: only 17 sig. digits.",cr,lf,0
  1304.         free
  1305. ;
  1306.         lesi    DPConst123456
  1307.         ldfpa
  1308.         lesi    Temp
  1309.         sdfpa
  1310.         lefpal
  1311.         dt    0.0
  1312.         ldfpa
  1313.         print
  1314.         db    "-123456.88 =",0
  1315.         mov    ax, 20bh
  1316.         ftoam
  1317.         puts
  1318.         putcr
  1319.         free
  1320. ;
  1321.         lesi    DPConst65432
  1322.         ldfpa
  1323.         lesi    Temp
  1324.         sdfpa
  1325.         lefpal
  1326.         dt    0.0
  1327.         ldfpa
  1328.         print
  1329.         db    "  65432.11 =",0
  1330.         mov    ax, 20bh
  1331.         ftoam
  1332.         puts
  1333.         putcr
  1334.         free
  1335. ;
  1336.         lesi    DPConst9876
  1337.         ldfpa
  1338.         lesi    Temp
  1339.         sdfpa
  1340.         lefpal
  1341.         dt    0.0
  1342.         ldfpa
  1343.         print
  1344.         db    "  -9876.33 =",0
  1345.         mov    ax, 20bh
  1346.         ftoam
  1347.         puts
  1348.         putcr
  1349.         free
  1350. ;
  1351.         lesi    DPConst192
  1352.         ldfpa
  1353.         lesi    Temp
  1354.         sdfpa
  1355.         lefpal
  1356.         dt    0.0
  1357.         ldfpa
  1358.         print
  1359.         db    "    192.55 =",0
  1360.         mov    ax, 20bh
  1361.         ftoam
  1362.         puts
  1363.         putcr
  1364.         free
  1365. ;
  1366.         lesi    DPConst38
  1367.         ldfpa
  1368.         lesi    Temp
  1369.         sdfpa
  1370.         lefpal
  1371.         dt    0.0
  1372.         ldfpa
  1373.         print
  1374.         db    "    -38.77 =",0
  1375.         mov    ax, 20bh
  1376.         ftoam
  1377.         puts
  1378.         putcr
  1379.         free
  1380. ;
  1381.         lesi    DPConst9
  1382.         ldfpa
  1383.         lesi    Temp
  1384.         sdfpa
  1385.         lefpal
  1386.         dt    0.0
  1387.         ldfpa
  1388.         print
  1389.         db    "      9.99 =",0
  1390.         mov    ax, 20bh
  1391.         ftoam
  1392.         puts
  1393.         putcr
  1394.         putcr
  1395.         free
  1396. ;
  1397. ;
  1398. ;------
  1399. ;
  1400.         print
  1401.         db    "Testing lefpa:",cr,lf,0
  1402. ;
  1403.         lesi    EPConst1
  1404.         lefpa
  1405.         print
  1406.         db    "       1.0 =",0
  1407.         mov    ax, 20bh
  1408.         ftoam
  1409.         puts
  1410.         putcr
  1411.         free
  1412. ;
  1413.         lesi    EPConst10
  1414.         lefpa
  1415.         print
  1416.         db    "    -10.25 =",0
  1417.         mov    ax, 20bh
  1418.         ftoam
  1419.         puts
  1420.         putcr
  1421.         free
  1422. ;
  1423.         lesi    EPConst100
  1424.         lefpa
  1425.         print
  1426.         db    "    100.50 =",0
  1427.         mov    ax, 20bh
  1428.         ftoam
  1429.         puts
  1430.         putcr
  1431.         free
  1432. ;
  1433.         lesi    EPConst1000
  1434.         lefpa
  1435.         print
  1436.         db    "  -1000.75 =",0
  1437.         mov    ax, 20bh
  1438.         ftoam
  1439.         puts
  1440.         putcr
  1441.         free
  1442. ;
  1443.         lesi    EPConst10000
  1444.         lefpa
  1445.         print
  1446.         db    "  10000.22 =",0
  1447.         mov    ax, 20bh
  1448.         ftoam
  1449.         puts
  1450.         putcr
  1451.         free
  1452. ;
  1453.         lesi    EPConst100000
  1454.         lefpa
  1455.         print
  1456.         db    " -10000.44 =",0
  1457.         mov    ax, 20bh
  1458.         ftoam
  1459.         puts
  1460.         putcr
  1461.         free
  1462. ;
  1463.         lesi    EPConst1000000
  1464.         lefpa
  1465.         print
  1466.         db    "123456789012345678901.66 =",0
  1467.         mov    ax, 219h
  1468.         ftoam
  1469.         puts
  1470.         print
  1471.         db    "  Note: only 17 sig. digits.",cr,lf,0
  1472.         free
  1473. ;
  1474.         lesi    EPConst123456
  1475.         lefpa
  1476.         print
  1477.         db    "-123456.88 =",0
  1478.         mov    ax, 20bh
  1479.         ftoam
  1480.         puts
  1481.         putcr
  1482.         free
  1483. ;
  1484.         lesi    EPConst65432
  1485.         lefpa
  1486.         print
  1487.         db    "  65432.11 =",0
  1488.         mov    ax, 20bh
  1489.         ftoam
  1490.         puts
  1491.         putcr
  1492.         free
  1493. ;
  1494.         lesi    EPConst9876
  1495.         lefpa
  1496.         print
  1497.         db    "  -9876.33 =",0
  1498.         mov    ax, 20bh
  1499.         ftoam
  1500.         puts
  1501.         putcr
  1502.         free
  1503. ;
  1504.         lesi    EPConst192
  1505.         lefpa
  1506.         print
  1507.         db    "    192.55 =",0
  1508.         mov    ax, 20bh
  1509.         ftoam
  1510.         puts
  1511.         putcr
  1512.         free
  1513. ;
  1514.         lesi    EPConst38
  1515.         lefpa
  1516.         print
  1517.         db    "    -38.77 =",0
  1518.         mov    ax, 20bh
  1519.         ftoam
  1520.         puts
  1521.         putcr
  1522.         free
  1523. ;
  1524.         lesi    EPConst9
  1525.         lefpa
  1526.         print
  1527.         db    "      9.99 =",0
  1528.         mov    ax, 20bh
  1529.         ftoam
  1530.         puts
  1531.         putcr
  1532.         putcr
  1533.         free
  1534. ;
  1535. ;
  1536. ;------
  1537. ;
  1538.         print
  1539.         db    "Testing sefap:",cr,lf,0
  1540. ;
  1541.         lesi    EPConst1
  1542.         lefpa
  1543.         lesi    Temp
  1544.         sefpa
  1545.         lefpal
  1546.         dt    0.0
  1547.         lefpa
  1548.         print
  1549.         db    "       1.0 =",0
  1550.         mov    ax, 20bh
  1551.         ftoam
  1552.         puts
  1553.         putcr
  1554.         free
  1555. ;
  1556.         lesi    EPConst10
  1557.         lefpa
  1558.         lesi    Temp
  1559.         sefpa
  1560.         lefpal
  1561.         dt    0.0
  1562.         lefpa
  1563.         print
  1564.         db    "    -10.25 =",0
  1565.         mov    ax, 20bh
  1566.         ftoam
  1567.         puts
  1568.         putcr
  1569.         free
  1570. ;
  1571.         lesi    EPConst100
  1572.         lefpa
  1573.         lesi    Temp
  1574.         sefpa
  1575.         lefpal
  1576.         dt    0.0
  1577.         lefpa
  1578.         print
  1579.         db    "    100.50 =",0
  1580.         mov    ax, 20bh
  1581.         ftoam
  1582.         puts
  1583.         putcr
  1584.         free
  1585. ;
  1586.         lesi    EPConst1000
  1587.         lefpa
  1588.         lesi    Temp
  1589.         sefpa
  1590.         lefpal
  1591.         dt    0.0
  1592.         lefpa
  1593.         print
  1594.         db    "  -1000.75 =",0
  1595.         mov    ax, 20bh
  1596.         ftoam
  1597.         puts
  1598.         putcr
  1599.         free
  1600. ;
  1601.         lesi    EPConst10000
  1602.         lefpa
  1603.         lesi    Temp
  1604.         sefpa
  1605.         lefpal
  1606.         dt    0.0
  1607.         lefpa
  1608.         print
  1609.         db    "  10000.22 =",0
  1610.         mov    ax, 20bh
  1611.         ftoam
  1612.         puts
  1613.         putcr
  1614.         free
  1615. ;
  1616.         lesi    EPConst100000
  1617.         lefpa
  1618.         lesi    Temp
  1619.         sefpa
  1620.         lefpal
  1621.         dt    0.0
  1622.         lefpa
  1623.         print
  1624.         db    " -10000.44 =",0
  1625.         mov    ax, 20bh
  1626.         ftoam
  1627.         puts
  1628.         putcr
  1629.         free
  1630. ;
  1631.         lesi    EPConst1000000
  1632.         lefpa
  1633.         lesi    Temp
  1634.         sefpa
  1635.         lefpal
  1636.         dt    0.0
  1637.         lefpa
  1638.         print
  1639.         db    "123456789012345678901.66 =",0
  1640.         mov    ax, 219h
  1641.         ftoam
  1642.         puts
  1643.         print
  1644.         db    "  Note: only 17 sig. digits.",cr,lf,0
  1645.         free
  1646. ;
  1647.         lesi    EPConst123456
  1648.         lefpa
  1649.         lesi    Temp
  1650.         sefpa
  1651.         lefpal
  1652.         dt    0.0
  1653.         lefpa
  1654.         print
  1655.         db    "-123456.88 =",0
  1656.         mov    ax, 20bh
  1657.         ftoam
  1658.         puts
  1659.         putcr
  1660.         free
  1661. ;
  1662.         lesi    EPConst65432
  1663.         lefpa
  1664.         lesi    Temp
  1665.         sefpa
  1666.         lefpal
  1667.         dt    0.0
  1668.         lefpa
  1669.         print
  1670.         db    "  65432.11 =",0
  1671.         mov    ax, 20bh
  1672.         ftoam
  1673.         puts
  1674.         putcr
  1675.         free
  1676. ;
  1677.         lesi    EPConst9876
  1678.         lefpa
  1679.         lesi    Temp
  1680.         sefpa
  1681.         lefpal
  1682.         dt    0.0
  1683.         lefpa
  1684.         print
  1685.         db    "  -9876.33 =",0
  1686.         mov    ax, 20bh
  1687.         ftoam
  1688.         puts
  1689.         putcr
  1690.         free
  1691. ;
  1692.         lesi    EPConst192
  1693.         lefpa
  1694.         lesi    Temp
  1695.         sefpa
  1696.         lefpal
  1697.         dt    0.0
  1698.         lefpa
  1699.         print
  1700.         db    "    192.55 =",0
  1701.         mov    ax, 20bh
  1702.         ftoam
  1703.         puts
  1704.         putcr
  1705.         free
  1706. ;
  1707.         lesi    EPConst38
  1708.         lefpa
  1709.         lesi    Temp
  1710.         sefpa
  1711.         lefpal
  1712.         dt    0.0
  1713.         lefpa
  1714.         print
  1715.         db    "    -38.77 =",0
  1716.         mov    ax, 20bh
  1717.         ftoam
  1718.         puts
  1719.         putcr
  1720.         free
  1721. ;
  1722.         lesi    EPConst9
  1723.         lefpa
  1724.         lesi    Temp
  1725.         sefpa
  1726.         lefpal
  1727.         dt    0.0
  1728.         lefpa
  1729.         print
  1730.         db    "      9.99 =",0
  1731.         mov    ax, 20bh
  1732.         ftoam
  1733.         puts
  1734.         putcr
  1735.         putcr
  1736.         free
  1737. ;
  1738. ;-----
  1739. ;
  1740.         print
  1741.         db    "Testing lefapl:",cr,lf,0
  1742. ;
  1743.         lefpal
  1744.         dt    1.0
  1745.         print
  1746.         db    "       1.0 =",0
  1747.         mov    ax, 20bh
  1748.         ftoam
  1749.         puts
  1750.         putcr
  1751.         free
  1752. ;
  1753.         lefpal
  1754.         dt    -10.25
  1755.         print
  1756.         db    "    -10.25 =",0
  1757.         mov    ax, 20bh
  1758.         ftoam
  1759.         puts
  1760.         putcr
  1761.         free
  1762. ;
  1763.         lefpal
  1764.         dt    100.50
  1765.         print
  1766.         db    "    100.50 =",0
  1767.         mov    ax, 20bh
  1768.         ftoam
  1769.         puts
  1770.         putcr
  1771.         free
  1772. ;
  1773.         lefpal
  1774.         dt    -1000.75
  1775.         print
  1776.         db    "  -1000.75 =",0
  1777.         mov    ax, 20bh
  1778.         ftoam
  1779.         puts
  1780.         putcr
  1781.         free
  1782. ;
  1783.         lefpal
  1784.         dt    10000.22
  1785.         print
  1786.         db    "  10000.22 =",0
  1787.         mov    ax, 20bh
  1788.         ftoam
  1789.         puts
  1790.         putcr
  1791.         free
  1792. ;
  1793.         lefpal
  1794.         dt    -100000.44
  1795.         print
  1796.         db    " -100000.44 =",0
  1797.         mov    ax, 20bh
  1798.         ftoam
  1799.         puts
  1800.         putcr
  1801.         free
  1802. ;
  1803.         lefpal
  1804.         dt    123456789012345678901.66
  1805.         print
  1806.         db    "123456789012345678901.66 =",0
  1807.         mov    ax, 219h
  1808.         ftoam
  1809.         puts
  1810.         print
  1811.         db    "  Note: only 17 sig. digits.",cr,lf,0
  1812.         free
  1813. ;
  1814.         lefpal
  1815.         dt    -123456.88
  1816.         print
  1817.         db    "-123456.88 =",0
  1818.         mov    ax, 20bh
  1819.         ftoam
  1820.         puts
  1821.         putcr
  1822.         free
  1823. ;
  1824.         lefpal
  1825.         dt    65432.11
  1826.         print
  1827.         db    "  65432.11 =",0
  1828.         mov    ax, 20bh
  1829.         ftoam
  1830.         puts
  1831.         putcr
  1832.         free
  1833. ;
  1834.         lefpal
  1835.         dt    -9876.33
  1836.         print
  1837.         db    "  -9876.33 =",0
  1838.         mov    ax, 20bh
  1839.         ftoam
  1840.         puts
  1841.         putcr
  1842.         free
  1843. ;
  1844.         lefpal
  1845.         dt    192.55
  1846.         print
  1847.         db    "    192.55 =",0
  1848.         mov    ax, 20bh
  1849.         ftoam
  1850.         puts
  1851.         putcr
  1852.         free
  1853. ;
  1854.         lefpal
  1855.         dt    -38.77
  1856.         print
  1857.         db    "    -38.77 =",0
  1858.         mov    ax, 20bh
  1859.         ftoam
  1860.         puts
  1861.         putcr
  1862.         free
  1863. ;
  1864.         lefpal
  1865.         dt    9.99
  1866.         print
  1867.         db    "      9.99 =",0
  1868.         mov    ax, 20bh
  1869.         ftoam
  1870.         puts
  1871.         putcr
  1872.         putcr
  1873.         free
  1874. ;
  1875. ;
  1876. ;
  1877. ; Test loading the floating point operand register-
  1878. ;
  1879.         print
  1880.         db    "Testing LSFPO (and XAccOp)",cr,lf,0
  1881. ;
  1882.         lesi    SPConst1
  1883.         lsfpo
  1884.         XAccOp
  1885.         print
  1886.         db    "       1.0 =",0
  1887.         mov    ax, 20bh
  1888.         ftoam
  1889.         puts
  1890.         putcr
  1891.         free
  1892. ;
  1893.         lesi    SPConst10
  1894.         lsfpo
  1895.         XAccOp
  1896.         print
  1897.         db    "    -10.25 =",0
  1898.         mov    ax, 20bh
  1899.         ftoam
  1900.         puts
  1901.         putcr
  1902.         free
  1903. ;
  1904.         lesi    SPConst100
  1905.         lsfpo
  1906.         XAccOp
  1907.         print
  1908.         db    "    100.50 =",0
  1909.         mov    ax, 20bh
  1910.         ftoam
  1911.         puts
  1912.         putcr
  1913.         free
  1914. ;
  1915.         lesi    SPConst1000
  1916.         lsfpo
  1917.         XAccOp
  1918.         print
  1919.         db    "  -1000.75 =",0
  1920.         mov    ax, 20bh
  1921.         ftoam
  1922.         puts
  1923.         putcr
  1924.         free
  1925. ;
  1926.         lesi    SPConst10000
  1927.         lsfpo
  1928.         XAccOp
  1929.         print
  1930.         db    "  10000.22 =",0
  1931.         mov    ax, 20bh
  1932.         ftoam
  1933.         puts
  1934.         putcr
  1935.         free
  1936. ;
  1937.         lesi    SPConst100000
  1938.         lsfpo
  1939.         XAccOp
  1940.         print
  1941.         db    " -10000.44 =",0
  1942.         mov    ax, 20bh
  1943.         ftoam
  1944.         puts
  1945.         putcr
  1946.         free
  1947. ;
  1948.         lesi    SPConst1000000
  1949.         lsfpo
  1950.         XAccOp
  1951.         print
  1952.         db    "1000000.66 =",0
  1953.         mov    ax, 20bh
  1954.         ftoam
  1955.         puts
  1956.         print
  1957.         db    "  Note: only 6-7 significant digits.",cr,lf,0
  1958.         free
  1959. ;
  1960.         lesi    SPConst123456
  1961.         lsfpo
  1962.         XAccOp
  1963.         print
  1964.         db    "-123456.88 =",0
  1965.         mov    ax, 20bh
  1966.         ftoam
  1967.         puts
  1968.         putcr
  1969.         free
  1970. ;
  1971.         lesi    SPConst65432
  1972.         lsfpo
  1973.         XAccOp
  1974.         print
  1975.         db    "  65432.11 =",0
  1976.         mov    ax, 20bh
  1977.         ftoam
  1978.         puts
  1979.         putcr
  1980.         free
  1981. ;
  1982.         lesi    SPConst9876
  1983.         lsfpo
  1984.         XAccOp
  1985.         print
  1986.         db    "  -9876.33 =",0
  1987.         mov    ax, 20bh
  1988.         ftoam
  1989.         puts
  1990.         putcr
  1991.         free
  1992. ;
  1993.         lesi    SPConst192
  1994.         lsfpo
  1995.         XAccOp
  1996.         print
  1997.         db    "    192.55 =",0
  1998.         mov    ax, 20bh
  1999.         ftoam
  2000.         puts
  2001.         putcr
  2002.         free
  2003. ;
  2004.         lesi    SPConst38
  2005.         lsfpo
  2006.         XAccOp
  2007.         print
  2008.         db    "    -38.77 =",0
  2009.         mov    ax, 20bh
  2010.         ftoam
  2011.         puts
  2012.         putcr
  2013.         free
  2014. ;
  2015.         lesi    SPConst9
  2016.         lsfpo
  2017.         XAccOp
  2018.         print
  2019.         db    "      9.99 =",0
  2020.         mov    ax, 20bh
  2021.         ftoam
  2022.         puts
  2023.         putcr
  2024.         putcr
  2025.         free
  2026. ;
  2027. ;----
  2028. ;
  2029.         print
  2030.         db    "Testing LDFPO:",cr,lf,0
  2031. ;
  2032.         lesi    DPConst1
  2033.         ldfpo
  2034.         XAccOp
  2035.         print
  2036.         db    "       1.0 =",0
  2037.         mov    ax, 20bh
  2038.         ftoam
  2039.         puts
  2040.         putcr
  2041.         free
  2042. ;
  2043.         lesi    DPConst10
  2044.         ldfpo
  2045.         XAccOp
  2046.         print
  2047.         db    "    -10.25 =",0
  2048.         mov    ax, 20bh
  2049.         ftoam
  2050.         puts
  2051.         putcr
  2052.         free
  2053. ;
  2054.         lesi    DPConst100
  2055.         ldfpo
  2056.         XAccOp
  2057.         print
  2058.         db    "    100.50 =",0
  2059.         mov    ax, 20bh
  2060.         ftoam
  2061.         puts
  2062.         putcr
  2063.         free
  2064. ;
  2065.         lesi    DPConst1000
  2066.         ldfpo
  2067.         XAccOp
  2068.         print
  2069.         db    "  -1000.75 =",0
  2070.         mov    ax, 20bh
  2071.         ftoam
  2072.         puts
  2073.         putcr
  2074.         free
  2075. ;
  2076.         lesi    DPConst10000
  2077.         ldfpo
  2078.         XAccOp
  2079.         print
  2080.         db    "  10000.22 =",0
  2081.         mov    ax, 20bh
  2082.         ftoam
  2083.         puts
  2084.         putcr
  2085.         free
  2086. ;
  2087.         lesi    DPConst100000
  2088.         ldfpo
  2089.         XAccOp
  2090.         print
  2091.         db    " -10000.44 =",0
  2092.         mov    ax, 20bh
  2093.         ftoam
  2094.         puts
  2095.         putcr
  2096.         free
  2097. ;
  2098.         lesi    DPConst1000000
  2099.         ldfpo
  2100.         XAccOp
  2101.         print
  2102.         db    "123456789012345678.66 =",0
  2103.         mov    ax, 216h
  2104.         ftoam
  2105.         puts
  2106.         print
  2107.         db    "  Note: only 17 sig. digits.",cr,lf,0
  2108.         free
  2109. ;
  2110.         lesi    DPConst123456
  2111.         ldfpo
  2112.         XAccOp
  2113.         print
  2114.         db    "-123456.88 =",0
  2115.         mov    ax, 20bh
  2116.         ftoam
  2117.         puts
  2118.         putcr
  2119.         free
  2120. ;
  2121.         lesi    DPConst65432
  2122.         ldfpo
  2123.         XAccOp
  2124.         print
  2125.         db    "  65432.11 =",0
  2126.         mov    ax, 20bh
  2127.         ftoam
  2128.         puts
  2129.         putcr
  2130.         free
  2131. ;
  2132.         lesi    DPConst9876
  2133.         ldfpo
  2134.         XAccOp
  2135.         print
  2136.         db    "  -9876.33 =",0
  2137.         mov    ax, 20bh
  2138.         ftoam
  2139.         puts
  2140.         putcr
  2141.         free
  2142. ;
  2143.         lesi    DPConst192
  2144.         ldfpo
  2145.         XAccOp
  2146.         print
  2147.         db    "    192.55 =",0
  2148.         mov    ax, 20bh
  2149.         ftoam
  2150.         puts
  2151.         putcr
  2152.         free
  2153. ;
  2154.         lesi    DPConst38
  2155.         ldfpo
  2156.         XAccOp
  2157.         print
  2158.         db    "    -38.77 =",0
  2159.         mov    ax, 20bh
  2160.         ftoam
  2161.         puts
  2162.         putcr
  2163.         free
  2164. ;
  2165.         lesi    DPConst9
  2166.         ldfpo
  2167.         XAccOp
  2168.         print
  2169.         db    "      9.99 =",0
  2170.         mov    ax, 20bh
  2171.         ftoam
  2172.         puts
  2173.         putcr
  2174.         putcr
  2175.         free
  2176. ;
  2177. ;
  2178. ;------
  2179. ;
  2180.         print
  2181.         db    "Testing LEFPO:",cr,lf,0
  2182. ;
  2183.         lesi    EPConst1
  2184.         lefpo
  2185.         XAccOp
  2186.         print
  2187.         db    "       1.0 =",0
  2188.         mov    ax, 20bh
  2189.         ftoam
  2190.         puts
  2191.         putcr
  2192.         free
  2193. ;
  2194.         lesi    EPConst10
  2195.         lefpo
  2196.         XAccOp
  2197.         print
  2198.         db    "    -10.25 =",0
  2199.         mov    ax, 20bh
  2200.         ftoam
  2201.         puts
  2202.         putcr
  2203.         free
  2204. ;
  2205.         lesi    EPConst100
  2206.         lefpo
  2207.         XAccOp
  2208.         print
  2209.         db    "    100.50 =",0
  2210.         mov    ax, 20bh
  2211.         ftoam
  2212.         puts
  2213.         putcr
  2214.         free
  2215. ;
  2216.         lesi    EPConst1000
  2217.         lefpo
  2218.         XAccOp
  2219.         print
  2220.         db    "  -1000.75 =",0
  2221.         mov    ax, 20bh
  2222.         ftoam
  2223.         puts
  2224.         putcr
  2225.         free
  2226. ;
  2227.         lesi    EPConst10000
  2228.         lefpo
  2229.         XAccOp
  2230.         print
  2231.         db    "  10000.22 =",0
  2232.         mov    ax, 20bh
  2233.         ftoam
  2234.         puts
  2235.         putcr
  2236.         free
  2237. ;
  2238.         lesi    EPConst100000
  2239.         lefpo
  2240.         XAccOp
  2241.         print
  2242.         db    " -10000.44 =",0
  2243.         mov    ax, 20bh
  2244.         ftoam
  2245.         puts
  2246.         putcr
  2247.         free
  2248. ;
  2249.         lesi    EPConst1000000
  2250.         lefpo
  2251.         XAccOp
  2252.         print
  2253.         db    "123456789012345678901.66 =",0
  2254.         mov    ax, 219h
  2255.         ftoam
  2256.         puts
  2257.         print
  2258.         db    "  Note: only 17 sig. digits.",cr,lf,0
  2259.         free
  2260. ;
  2261.         lesi    EPConst123456
  2262.         lefpo
  2263.         XAccOp
  2264.         print
  2265.         db    "-123456.88 =",0
  2266.         mov    ax, 20bh
  2267.         ftoam
  2268.         puts
  2269.         putcr
  2270.         free
  2271. ;
  2272.         lesi    EPConst65432
  2273.         lefpo
  2274.         XAccOp
  2275.         print
  2276.         db    "  65432.11 =",0
  2277.         mov    ax, 20bh
  2278.         ftoam
  2279.         puts
  2280.         putcr
  2281.         free
  2282. ;
  2283.         lesi    EPConst9876
  2284.         lefpo
  2285.         XAccOp
  2286.         print
  2287.         db    "  -9876.33 =",0
  2288.         mov    ax, 20bh
  2289.         ftoam
  2290.         puts
  2291.         putcr
  2292.         free
  2293. ;
  2294.         lesi    EPConst192
  2295.         lefpo
  2296.         XAccOp
  2297.         print
  2298.         db    "    192.55 =",0
  2299.         mov    ax, 20bh
  2300.         ftoam
  2301.         puts
  2302.         putcr
  2303.         free
  2304. ;
  2305.         lesi    EPConst38
  2306.         lefpo
  2307.         XAccOp
  2308.         print
  2309.         db    "    -38.77 =",0
  2310.         mov    ax, 20bh
  2311.         ftoam
  2312.         puts
  2313.         putcr
  2314.         free
  2315. ;
  2316.         lesi    EPConst9
  2317.         lefpo
  2318.         XAccOp
  2319.         print
  2320.         db    "      9.99 =",0
  2321.         mov    ax, 20bh
  2322.         ftoam
  2323.         puts
  2324.         putcr
  2325.         putcr
  2326.         free
  2327. ;
  2328. ;
  2329. ;-----
  2330. ;
  2331.         print
  2332.         db    "Testing LEFPOL:",cr,lf,0
  2333. ;
  2334.         lefpol
  2335.         dt    1.0
  2336.         XAccOp
  2337.         print
  2338.         db    "       1.0 =",0
  2339.         mov    ax, 20bh
  2340.         ftoam
  2341.         puts
  2342.         putcr
  2343.         free
  2344. ;
  2345.         lefpol
  2346.         dt    -10.25
  2347.         XAccOp
  2348.         print
  2349.         db    "    -10.25 =",0
  2350.         mov    ax, 20bh
  2351.         ftoam
  2352.         puts
  2353.         putcr
  2354.         free
  2355. ;
  2356.         lefpol
  2357.         dt    100.50
  2358.         XAccOp
  2359.         print
  2360.         db    "    100.50 =",0
  2361.         mov    ax, 20bh
  2362.         ftoam
  2363.         puts
  2364.         putcr
  2365.         free
  2366. ;
  2367.         lefpol
  2368.         dt    -1000.75
  2369.         XAccOp
  2370.         print
  2371.         db    "  -1000.75 =",0
  2372.         mov    ax, 20bh
  2373.         ftoam
  2374.         puts
  2375.         putcr
  2376.         free
  2377. ;
  2378.         lefpol
  2379.         dt    10000.22
  2380.         XAccOp
  2381.         print
  2382.         db    "  10000.22 =",0
  2383.         mov    ax, 20bh
  2384.         ftoam
  2385.         puts
  2386.         putcr
  2387.         free
  2388. ;
  2389.         lefpol
  2390.         dt    -100000.44
  2391.         XAccOp
  2392.         print
  2393.         db    " -100000.44 =",0
  2394.         mov    ax, 20bh
  2395.         ftoam
  2396.         puts
  2397.         putcr
  2398.         free
  2399. ;
  2400.         lefpol
  2401.         dt    123456789012345678901.66
  2402.         XAccOp
  2403.         print
  2404.         db    "123456789012345678901.66 =",0
  2405.         mov    ax, 219h
  2406.         ftoam
  2407.         puts
  2408.         print
  2409.         db    "  Note: only 17 sig. digits.",cr,lf,0
  2410.         free
  2411. ;
  2412.         lefpol
  2413.         dt    -123456.88
  2414.         XAccOp
  2415.         print
  2416.         db    "-123456.88 =",0
  2417.         mov    ax, 20bh
  2418.         ftoam
  2419.         puts
  2420.         putcr
  2421.         free
  2422. ;
  2423.         lefpol
  2424.         dt    65432.11
  2425.         XAccOp
  2426.         print
  2427.         db    "  65432.11 =",0
  2428.         mov    ax, 20bh
  2429.         ftoam
  2430.         puts
  2431.         putcr
  2432.         free
  2433. ;
  2434.         lefpol
  2435.         dt    -9876.33
  2436.         XAccOp
  2437.         print
  2438.         db    "  -9876.33 =",0
  2439.         mov    ax, 20bh
  2440.         ftoam
  2441.         puts
  2442.         putcr
  2443.         free
  2444. ;
  2445.         lefpol
  2446.         dt    192.55
  2447.         XAccOp
  2448.         print
  2449.         db    "    192.55 =",0
  2450.         mov    ax, 20bh
  2451.         ftoam
  2452.         puts
  2453.         putcr
  2454.         free
  2455. ;
  2456.         lefpol
  2457.         dt    -38.77
  2458.         XAccOp
  2459.         print
  2460.         db    "    -38.77 =",0
  2461.         mov    ax, 20bh
  2462.         ftoam
  2463.         puts
  2464.         putcr
  2465.         free
  2466. ;
  2467.         lefpol
  2468.         dt    9.99
  2469.         XAccOp
  2470.         print
  2471.         db    "      9.99 =",0
  2472.         mov    ax, 20bh
  2473.         ftoam
  2474.         puts
  2475.         putcr
  2476.         putcr
  2477.         free
  2478. ;
  2479. ;
  2480. ;-----
  2481. ;
  2482. ;
  2483. ;
  2484. ;
  2485. ;
  2486. ; Test the arithmetic operations:
  2487. ;
  2488.         print
  2489.         db    "Testing addition",cr,lf,0
  2490. ;
  2491.         print
  2492.         db    "2.0 = ",0
  2493.         lefpal
  2494.         dt    1.9999999999999999999
  2495.         lefpol
  2496.         dt    0.0000000000000000001
  2497.         fpadd
  2498.         mov    ax, 1418h
  2499.         ftoam
  2500.         puts
  2501.         free
  2502.         call    PutFPAcc
  2503.         putcr
  2504. ;
  2505.         print
  2506.         db    "2.0 = ",0
  2507.         lefpal
  2508.         dt    1.999999999999999999
  2509.         lefpol
  2510.         dt    0.000000000000000001
  2511.         fpadd
  2512.         mov    ax, 1418h
  2513.         ftoam
  2514.         puts
  2515.         call    PutFPAcc
  2516.         putcr
  2517. ;
  2518.         print
  2519.         db    "2.0 = ",0
  2520.         lefpal
  2521.         dt    1.99999999999999999
  2522.         lefpol
  2523.         dt    0.00000000000000001
  2524.         fpadd
  2525.         mov    ax, 20bh
  2526.         mov    ax, 1418h
  2527.         ftoam
  2528.         puts
  2529.         free
  2530.         call    PutFPAcc
  2531.         putcr
  2532. ;
  2533.         print
  2534.         db    "2.0 = ",0
  2535.         lefpal
  2536.         dt    1.9999999999999999
  2537.         lefpol
  2538.         dt    0.0000000000000001
  2539.         fpadd
  2540.         mov    ax, 1418h
  2541.         ftoam
  2542.         puts
  2543.         free
  2544.         call    PutFPAcc
  2545.         putcr
  2546. ;
  2547.         print
  2548.         db    "2.0 = ",0
  2549.         lefpal
  2550.         dt    1.999999999999999
  2551.         lefpol
  2552.         dt    0.000000000000001
  2553.         fpadd
  2554.         mov    ax, 1418h
  2555.         ftoam
  2556.         puts
  2557.         free
  2558.         call    PutFPAcc
  2559.         putcr
  2560. ;
  2561.         print
  2562.         db    "2.0 = ",0
  2563.         lefpal
  2564.         dt    1.99999999999999
  2565.         lefpol
  2566.         dt    0.00000000000001
  2567.         fpadd
  2568.         mov    ax, 1418h
  2569.         ftoam
  2570.         puts
  2571.         free
  2572.         call    PutFPAcc
  2573.         putcr
  2574. ;
  2575.         print
  2576.         db    "2.0 = ",0
  2577.         lefpal
  2578.         dt    1.9999999999999
  2579.         lefpol
  2580.         dt    0.0000000000001
  2581.         fpadd
  2582.         mov    ax, 1418h
  2583.         ftoam
  2584.         puts
  2585.         free
  2586.         call    PutFPAcc
  2587.         putcr
  2588. ;
  2589.         print
  2590.         db    "2.0 = ",0
  2591.         lefpal
  2592.         dt    1.999999999999
  2593.         lefpol
  2594.         dt    0.000000000001
  2595.         fpadd
  2596.         mov    ax, 1418h
  2597.         ftoam
  2598.         puts
  2599.         free
  2600.         call    PutFPAcc
  2601.         putcr
  2602. ;
  2603.         print
  2604.         db    "2.0 = ",0
  2605.         lefpal
  2606.         dt    1.99999999999
  2607.         lefpol
  2608.         dt    0.00000000001
  2609.         fpadd
  2610.         mov    ax, 1418h
  2611.         ftoam
  2612.         puts
  2613.         free
  2614.         call    PutFPAcc
  2615.         putcr
  2616. ;
  2617.         print
  2618.         db    "2.0 = ",0
  2619.         lefpal
  2620.         dt    1.9999999999
  2621.         lefpol
  2622.         dt    0.0000000001
  2623.         fpadd
  2624.         mov    ax, 1418h
  2625.         ftoam
  2626.         puts
  2627.         free
  2628.         call    PutFPAcc
  2629.         putcr
  2630. ;
  2631.         print
  2632.         db    "2.0 = ",0
  2633.         lefpal
  2634.         dt    1.999999999
  2635.         lefpol
  2636.         dt    0.000000001
  2637.         fpadd
  2638.         mov    ax, 1418h
  2639.         ftoam
  2640.         puts
  2641.         free
  2642.         call    PutFPAcc
  2643.         putcr
  2644. ;
  2645.         print
  2646.         db    "2.0 = ",0
  2647.         lefpal
  2648.         dt    1.99999999
  2649.         lefpol
  2650.         dt    0.00000001
  2651.         fpadd
  2652.         mov    ax, 1418h
  2653.         ftoam
  2654.         puts
  2655.         free
  2656.         call    PutFPAcc
  2657.         putcr
  2658. ;
  2659.         print
  2660.         db    "2.0 = ",0
  2661.         lefpal
  2662.         dt    1.9999999
  2663.         lefpol
  2664.         dt    0.0000001
  2665.         fpadd
  2666.         mov    ax, 1418h
  2667.         ftoam
  2668.         puts
  2669.         free
  2670.         call    PutFPAcc
  2671.         putcr
  2672. ;
  2673.         print
  2674.         db    "2.0 = ",0
  2675.         lefpal
  2676.         dt    1.999999
  2677.         lefpol
  2678.         dt    0.000001
  2679.         fpadd
  2680.         mov    ax, 1418h
  2681.         ftoam
  2682.         puts
  2683.         free
  2684.         call    PutFPAcc
  2685.         putcr
  2686. ;
  2687.         print
  2688.         db    "2.0 = ",0
  2689.         lefpal
  2690.         dt    1.99999
  2691.         lefpol
  2692.         dt    0.00001
  2693.         fpadd
  2694.         mov    ax, 1418h
  2695.         ftoam
  2696.         puts
  2697.         free
  2698.         call    PutFPAcc
  2699.         putcr
  2700. ;
  2701.         print
  2702.         db    "2.0 = ",0
  2703.         lefpal
  2704.         dt    1.9999
  2705.         lefpol
  2706.         dt    0.0001
  2707.         fpadd
  2708.         mov    ax, 1418h
  2709.         ftoam
  2710.         puts
  2711.         free
  2712.         call    PutFPAcc
  2713.         putcr
  2714. ;
  2715.         print
  2716.         db    "2.0 = ",0
  2717.         lefpal
  2718.         dt    1.999
  2719.         lefpol
  2720.         dt    0.001
  2721.         fpadd
  2722.         mov    ax, 1418h
  2723.         ftoam
  2724.         puts
  2725.         free
  2726.         call    PutFPAcc
  2727.         putcr
  2728. ;
  2729.         print
  2730.         db    "2.0 = ",0
  2731.         lefpal
  2732.         dt    1.99
  2733.         lefpol
  2734.         dt    0.01
  2735.         fpadd
  2736.         mov    ax, 1418h
  2737.         ftoam
  2738.         puts
  2739.         free
  2740.         call    PutFPAcc
  2741.         putcr
  2742. ;
  2743.         print
  2744.         db    "2.0 = ",0
  2745.         lefpal
  2746.         dt    1.9
  2747.         lefpol
  2748.         dt    0.1
  2749.         fpadd
  2750.         mov    ax, 1418h
  2751.         ftoam
  2752.         puts
  2753.         free
  2754.         call    PutFPAcc
  2755.         putcr
  2756.         putcr
  2757. ;
  2758. ;---------
  2759. ;
  2760.         print
  2761.         db    "More addition:",cr,lf,lf,0
  2762.         print
  2763.         db    "-2.0 = ",0
  2764.         lefpal
  2765.         dt    -1.9999999999999999999
  2766.         lefpol
  2767.         dt    -0.0000000000000000001
  2768.         fpadd
  2769.         mov    ax, 1418h
  2770.         ftoam
  2771.         puts
  2772.         free
  2773.         call    PutFPAcc
  2774.         putcr
  2775. ;
  2776.         print
  2777.         db    "-2.0 = ",0
  2778.         lefpal
  2779.         dt    -1.999999999999999999
  2780.         lefpol
  2781.         dt    -0.000000000000000001
  2782.         fpadd
  2783.         mov    ax, 1418h
  2784.         ftoam
  2785.         puts
  2786.         free
  2787.         call    PutFPAcc
  2788.         putcr
  2789. ;
  2790.         print
  2791.         db    "-2.0 = ",0
  2792.         lefpal
  2793.         dt    -1.99999999999999999
  2794.         lefpol
  2795.         dt    -0.00000000000000001
  2796.         fpadd
  2797.         mov    ax, 20bh
  2798.         mov    ax, 1418h
  2799.         ftoam
  2800.         puts
  2801.         free
  2802.         call    PutFPAcc
  2803.         putcr
  2804. ;
  2805.         print
  2806.         db    "-2.0 = ",0
  2807.         lefpal
  2808.         dt    -1.9999999999999999
  2809.         lefpol
  2810.         dt    -0.0000000000000001
  2811.         fpadd
  2812.         mov    ax, 1418h
  2813.         ftoam
  2814.         puts
  2815.         free
  2816.         call    PutFPAcc
  2817.         putcr
  2818. ;
  2819.         print
  2820.         db    "-2.0 = ",0
  2821.         lefpal
  2822.         dt    -1.999999999999999
  2823.         lefpol
  2824.         dt    -0.000000000000001
  2825.         fpadd
  2826.         mov    ax, 1418h
  2827.         ftoam
  2828.         puts
  2829.         free
  2830.         call    PutFPAcc
  2831.         putcr
  2832. ;
  2833.         print
  2834.         db    "-2.0 = ",0
  2835.         lefpal
  2836.         dt    -1.99999999999999
  2837.         lefpol
  2838.         dt    -0.00000000000001
  2839.         fpadd
  2840.         mov    ax, 1418h
  2841.         ftoam
  2842.         puts
  2843.         free
  2844.         call    PutFPAcc
  2845.         putcr
  2846. ;
  2847.         print
  2848.         db    "-2.0 = ",0
  2849.         lefpal
  2850.         dt    -1.9999999999999
  2851.         lefpol
  2852.         dt    -0.0000000000001
  2853.         fpadd
  2854.         mov    ax, 1418h
  2855.         ftoam
  2856.         puts
  2857.         free
  2858.         call    PutFPAcc
  2859.         putcr
  2860. ;
  2861.         print
  2862.         db    "-2.0 = ",0
  2863.         lefpal
  2864.         dt    -1.999999999999
  2865.         lefpol
  2866.         dt    -0.000000000001
  2867.         fpadd
  2868.         mov    ax, 1418h
  2869.         ftoam
  2870.         puts
  2871.         free
  2872.         call    PutFPAcc
  2873.         putcr
  2874. ;
  2875.         print
  2876.         db    "-2.0 = ",0
  2877.         lefpal
  2878.         dt    -1.99999999999
  2879.         lefpol
  2880.         dt    -0.00000000001
  2881.         fpadd
  2882.         mov    ax, 1418h
  2883.         ftoam
  2884.         puts
  2885.         free
  2886.         call    PutFPAcc
  2887.         putcr
  2888. ;
  2889.         print
  2890.         db    "-2.0 = ",0
  2891.         lefpal
  2892.         dt    -1.9999999999
  2893.         lefpol
  2894.         dt    -0.0000000001
  2895.         fpadd
  2896.         mov    ax, 1418h
  2897.         ftoam
  2898.         puts
  2899.         free
  2900.         call    PutFPAcc
  2901.         putcr
  2902. ;
  2903.         print
  2904.         db    "-2.0 = ",0
  2905.         lefpal
  2906.         dt    -1.999999999
  2907.         lefpol
  2908.         dt    -0.000000001
  2909.         fpadd
  2910.         mov    ax, 1418h
  2911.         ftoam
  2912.         puts
  2913.         free
  2914.         call    PutFPAcc
  2915.         putcr
  2916. ;
  2917.         print
  2918.         db    "-2.0 = ",0
  2919.         lefpal
  2920.         dt    -1.99999999
  2921.         lefpol
  2922.         dt    -0.00000001
  2923.         fpadd
  2924.         mov    ax, 1418h
  2925.         ftoam
  2926.         puts
  2927.         free
  2928.         call    PutFPAcc
  2929.         putcr
  2930. ;
  2931.         print
  2932.         db    "-2.0 = ",0
  2933.         lefpal
  2934.         dt    -1.9999999
  2935.         lefpol
  2936.         dt    -0.0000001
  2937.         fpadd
  2938.         mov    ax, 1418h
  2939.         ftoam
  2940.         puts
  2941.         free
  2942.         call    PutFPAcc
  2943.         putcr
  2944. ;
  2945.         print
  2946.         db    "-2.0 = ",0
  2947.         lefpal
  2948.         dt    -1.999999
  2949.         lefpol
  2950.         dt    -0.000001
  2951.         fpadd
  2952.         mov    ax, 1418h
  2953.         ftoam
  2954.         puts
  2955.         free
  2956.         call    PutFPAcc
  2957.         putcr
  2958. ;
  2959.         print
  2960.         db    "-2.0 = ",0
  2961.         lefpal
  2962.         dt    -1.99999
  2963.         lefpol
  2964.         dt    -0.00001
  2965.         fpadd
  2966.         mov    ax, 1418h
  2967.         ftoam
  2968.         puts
  2969.         free
  2970.         call    PutFPAcc
  2971.         putcr
  2972. ;
  2973.         print
  2974.         db    "-2.0 = ",0
  2975.         lefpal
  2976.         dt    -1.9999
  2977.         lefpol
  2978.         dt    -0.0001
  2979.         fpadd
  2980.         mov    ax, 1418h
  2981.         ftoam
  2982.         puts
  2983.         free
  2984.         call    PutFPAcc
  2985.         putcr
  2986. ;
  2987.         print
  2988.         db    "-2.0 = ",0
  2989.         lefpal
  2990.         dt    -1.999
  2991.         lefpol
  2992.         dt    -0.001
  2993.         fpadd
  2994.         mov    ax, 1418h
  2995.         ftoam
  2996.         puts
  2997.         free
  2998.         call    PutFPAcc
  2999.         putcr
  3000. ;
  3001.         print
  3002.         db    "-2.0 = ",0
  3003.         lefpal
  3004.         dt    -1.99
  3005.         lefpol
  3006.         dt    -0.01
  3007.         fpadd
  3008.         mov    ax, 1418h
  3009.         ftoam
  3010.         puts
  3011.         free
  3012.         call    PutFPAcc
  3013.         putcr
  3014. ;
  3015.         print
  3016.         db    "-2.0 = ",0
  3017.         lefpal
  3018.         dt    -1.9
  3019.         lefpol
  3020.         dt    -0.1
  3021.         fpadd
  3022.         mov    ax, 1418h
  3023.         ftoam
  3024.         puts
  3025.         free
  3026.         call    PutFPAcc
  3027.         putcr
  3028.         putcr
  3029. ;
  3030. ;----
  3031. ;
  3032.         print
  3033.         db    "Yet more addition:",cr,lf,lf,0
  3034.         print
  3035.         db    "2.0 = ",0
  3036.         lefpal
  3037.         dt     2.0000000000000000001
  3038.         lefpol
  3039.         dt    -0.0000000000000000001
  3040.         fpadd
  3041.         mov    ax, 1418h
  3042.         ftoam
  3043.         puts
  3044.         free
  3045.         call    PutFPAcc
  3046.         putcr
  3047. ;
  3048.         print
  3049.         db    "2.0 = ",0
  3050.         lefpal
  3051.         dt     2.000000000000000001
  3052.         lefpol
  3053.         dt    -0.000000000000000001
  3054.         fpadd
  3055.         mov    ax, 1418h
  3056.         ftoam
  3057.         puts
  3058.         free
  3059.         call    PutFPAcc
  3060.         putcr
  3061. ;
  3062.         print
  3063.         db    "2.0 = ",0
  3064.         lefpal
  3065.         dt     2.00000000000000001
  3066.         lefpol
  3067.         dt    -0.00000000000000001
  3068.         fpadd
  3069.         mov    ax, 1418h
  3070.         ftoam
  3071.         puts
  3072.         free
  3073.         call    PutFPAcc
  3074.         putcr
  3075. ;
  3076.         print
  3077.         db    "2.0 = ",0
  3078.         lefpal
  3079.         dt     2.0000000000000001
  3080.         lefpol
  3081.         dt    -0.0000000000000001
  3082.         fpadd
  3083.         mov    ax, 1418h
  3084.         ftoam
  3085.         puts
  3086.         free
  3087.         call    PutFPAcc
  3088.         putcr
  3089. ;
  3090.         print
  3091.         db    "2.0 = ",0
  3092.         lefpal
  3093.         dt     2.000000000000001
  3094.         lefpol
  3095.         dt    -0.000000000000001
  3096.         fpadd
  3097.         mov    ax, 1418h
  3098.         ftoam
  3099.         puts
  3100.         free
  3101.         call    PutFPAcc
  3102.         putcr
  3103. ;
  3104.         print
  3105.         db    "2.0 = ",0
  3106.         lefpal
  3107.         dt     2.00000000000001
  3108.         lefpol
  3109.         dt    -0.00000000000001
  3110.         fpadd
  3111.         mov    ax, 1418h
  3112.         ftoam
  3113.         puts
  3114.         free
  3115.         call    PutFPAcc
  3116.         putcr
  3117. ;
  3118.         print
  3119.         db    "2.0 = ",0
  3120.         lefpal
  3121.         dt     2.0000000000001
  3122.         lefpol
  3123.         dt    -0.0000000000001
  3124.         fpadd
  3125.         mov    ax, 1418h
  3126.         ftoam
  3127.         puts
  3128.         free
  3129.         call    PutFPAcc
  3130.         putcr
  3131. ;
  3132.         print
  3133.         db    "2.0 = ",0
  3134.         lefpal
  3135.         dt     2.000000000001
  3136.         lefpol
  3137.         dt    -0.000000000001
  3138.         fpadd
  3139.         mov    ax, 1418h
  3140.         ftoam
  3141.         puts
  3142.         free
  3143.         call    PutFPAcc
  3144.         putcr
  3145. ;
  3146.         print
  3147.         db    "2.0 = ",0
  3148.         lefpal
  3149.         dt     2.00000000001
  3150.         lefpol
  3151.         dt    -0.00000000001
  3152.         fpadd
  3153.         mov    ax, 1418h
  3154.         ftoam
  3155.         puts
  3156.         free
  3157.         call    PutFPAcc
  3158.         putcr
  3159. ;
  3160.         print
  3161.         db    "2.0 = ",0
  3162.         lefpal
  3163.         dt       2.0000000001
  3164.         lefpol
  3165.         dt    -0.0000000001
  3166.         fpadd
  3167.         mov    ax, 1418h
  3168.         ftoam
  3169.         puts
  3170.         free
  3171.         call    PutFPAcc
  3172.         putcr
  3173. ;
  3174.         print
  3175.         db    "2.0 = ",0
  3176.         lefpal
  3177.         dt     2.000000001
  3178.         lefpol
  3179.         dt    -0.000000001
  3180.         fpadd
  3181.         mov    ax, 1418h
  3182.         ftoam
  3183.         puts
  3184.         free
  3185.         call    PutFPAcc
  3186.         putcr
  3187. ;
  3188.         print
  3189.         db    "2.0 = ",0
  3190.         lefpal
  3191.         dt     2.00000001
  3192.         lefpol
  3193.         dt    -0.00000001
  3194.         fpadd
  3195.         mov    ax, 1418h
  3196.         ftoam
  3197.         puts
  3198.         free
  3199.         call    PutFPAcc
  3200.         putcr
  3201. ;
  3202.         print
  3203.         db    "2.0 = ",0
  3204.         lefpal
  3205.         dt     2.0000001
  3206.         lefpol
  3207.         dt    -0.0000001
  3208.         fpadd
  3209.         mov    ax, 1418h
  3210.         ftoam
  3211.         puts
  3212.         free
  3213.         call    PutFPAcc
  3214.         putcr
  3215. ;
  3216.         print
  3217.         db    "2.0 = ",0
  3218.         lefpal
  3219.         dt     2.000001
  3220.         lefpol
  3221.         dt    -0.000001
  3222.         fpadd
  3223.         mov    ax, 1418h
  3224.         ftoam
  3225.         puts
  3226.         free
  3227.         call    PutFPAcc
  3228.         putcr
  3229. ;
  3230.         print
  3231.         db    "2.0 = ",0
  3232.         lefpal
  3233.         dt     2.00001
  3234.         lefpol
  3235.         dt    -0.00001
  3236.         fpadd
  3237.         mov    ax, 1418h
  3238.         ftoam
  3239.         puts
  3240.         free
  3241.         call    PutFPAcc
  3242.         putcr
  3243. ;
  3244.         print
  3245.         db    "2.0 = ",0
  3246.         lefpal
  3247.         dt     2.0001
  3248.         lefpol
  3249.         dt    -0.0001
  3250.         fpadd
  3251.         mov    ax, 1418h
  3252.         ftoam
  3253.         puts
  3254.         free
  3255.         call    PutFPAcc
  3256.         putcr
  3257. ;
  3258.         print
  3259.         db    "2.0 = ",0
  3260.         lefpal
  3261.         dt     2.001
  3262.         lefpol
  3263.         dt    -0.001
  3264.         fpadd
  3265.         mov    ax, 1418h
  3266.         ftoam
  3267.         puts
  3268.         free
  3269.         call    PutFPAcc
  3270.         putcr
  3271. ;
  3272.         print
  3273.         db    "2.0 = ",0
  3274.         lefpal
  3275.         dt     2.01
  3276.         lefpol
  3277.         dt    -0.01
  3278.         fpadd
  3279.         mov    ax, 1418h
  3280.         ftoam
  3281.         puts
  3282.         free
  3283.         call    PutFPAcc
  3284.         putcr
  3285. ;
  3286.         print
  3287.         db    "2.0 = ",0
  3288.         lefpal
  3289.         dt     2.1
  3290.         lefpol
  3291.         dt    -0.1
  3292.         fpadd
  3293.         mov    ax, 1418h
  3294.         ftoam
  3295.         puts
  3296.         free
  3297.         call    PutFPAcc
  3298.         putcr
  3299.         putcr
  3300. ;
  3301. ;-----
  3302. ;
  3303.         print
  3304.         db    "Simple subtraction test (sub is same as add)"
  3305.         db    cr,lf,lf,0
  3306. ;
  3307.         print
  3308.         db    "2.9.. - 1.9.. = ",0
  3309.         lefpal
  3310.         dt    2.99999999999999999
  3311.         lefpol
  3312.         dt    1.99999999999999999
  3313.         fpsub
  3314.         mov    ax, 1418h
  3315.         ftoam
  3316.         puts
  3317.         free
  3318.         call    PutFPAcc
  3319.         putcr
  3320.         print
  3321.         db    "1.9.. - 2.9.. = ",0
  3322.         lefpal
  3323.         dt    1.99999999999999999
  3324.         lefpol
  3325.         dt    2.99999999999999999
  3326.         fpsub
  3327.         mov    ax, 1418h
  3328.         ftoam
  3329.         puts
  3330.         free
  3331.         call    PutFPAcc
  3332.         putcr
  3333.         putcr
  3334. ;
  3335. ;----
  3336. ;
  3337.         print
  3338.         db    "Testing Multiply...",cr,lf,lf,0
  3339. ;
  3340.         mov    cx, 20
  3341.         lefpal
  3342.         dt    1.0
  3343. MultLoop:    lefpol
  3344.         dt    -10.0
  3345.         fpmul
  3346.         mov    ax, 24h
  3347.         etoam
  3348.         puts
  3349.         free
  3350.         call    PutFPAcc
  3351.         putcr
  3352.         loop    MultLoop
  3353.         putcr
  3354. ;
  3355. ;---
  3356. ;
  3357.         print
  3358.         db    "More multiply tests...",cr,lf,lf,0
  3359. ;
  3360.         lefpal
  3361.         dt    0.0000000000000000001
  3362.         mov    cx, 20
  3363. MultLoop2:    lefpol
  3364.         dt    -10.0
  3365.         fpmul
  3366.         mov    ax, 24h
  3367.         etoam
  3368.         puts
  3369.         free
  3370.         call    PutFPAcc
  3371.         putcr
  3372.         loop    MultLoop2
  3373.         putcr
  3374. ;
  3375. ;
  3376. ;-----
  3377. ;
  3378.         print
  3379.         db    "Some Division Tests:",cr,lf,lf,0
  3380. ;
  3381.         mov    cx, 20
  3382.         lefpal
  3383.         dt    1.0e+15
  3384. DivLoop:    lefpol
  3385.         dt    -10.0
  3386.         fpdiv
  3387.         mov    ax, 24
  3388.         etoam
  3389.         puts
  3390.         free
  3391.         call    PutFPAcc
  3392.         putcr
  3393.         loop    DivLoop
  3394.         putcr
  3395. ;
  3396. ;
  3397. ;---
  3398. ;
  3399.         print
  3400.         db    "More Division Tests...",cr,lf,lf,0
  3401. ;
  3402.         lefpal
  3403.         dt    1.0e-15
  3404.         mov    cx, 20
  3405. DivLoop2:    lefpol
  3406.         dt    -1.0e-1
  3407.         fpdiv
  3408.         mov    ax, 24
  3409.         etoam
  3410.         puts
  3411.         free
  3412.         call    PutFPAcc
  3413.         putcr
  3414.         loop    DivLoop2
  3415.         putcr
  3416. ;
  3417. ;
  3418. ;------
  3419. ;
  3420.         print
  3421.         db    "Testing FPCMP...",cr,lf,0
  3422. ;
  3423.         lefpal
  3424.         dt    0.0
  3425.         lefpol
  3426.         dt    0.0
  3427.         fpcmp
  3428.         pushf
  3429.         print
  3430.         db    "AX = ",0
  3431.         puti
  3432.         popf
  3433.         je    TheyreEql0
  3434.         print
  3435.         db    " 0.0 <> 0.0",cr,lf,0
  3436.         jmp    EndTest0
  3437. ;
  3438. TheyreEql0:    print
  3439.         db    " 0.0 = 0.0",cr,lf,0
  3440. EndTest0:
  3441. ;
  3442.         lefpal
  3443.         dt    1.0
  3444.         lefpol
  3445.         dt    0.0
  3446.         fpcmp
  3447.         pushf
  3448.         print
  3449.         db    "AX = ",0
  3450.         puti
  3451.         popf
  3452.         je    TheyreEql1
  3453.         print
  3454.         db    " 1.0 <> 0.0",cr,lf,0
  3455.         jmp    EndTest1
  3456. ;
  3457. TheyreEql1:    print
  3458.         db    " 1.0 = 0.0",cr,lf,0
  3459. EndTest1:
  3460. ;
  3461.         lefpal
  3462.         dt    0.0
  3463.         lefpol
  3464.         dt    1.0
  3465.         fpcmp
  3466.         pushf
  3467.         print
  3468.         db    "AX = ",0
  3469.         puti
  3470.         popf
  3471.         je    TheyreEql2
  3472.         print
  3473.         db    " 0.0 <> 1.0",cr,lf,0
  3474.         jmp    EndTest2
  3475. ;
  3476. TheyreEql2:    print
  3477.         db    " 0.0 = 1.0",cr,lf,0
  3478. EndTest2:
  3479. ;
  3480.         lefpal
  3481.         dt    -1.0
  3482.         lefpol
  3483.         dt    0.0
  3484.         fpcmp
  3485.         pushf
  3486.         print
  3487.         db    "AX = ",0
  3488.         puti
  3489.         popf
  3490.         je    TheyreEql3
  3491.         print
  3492.         db    " -1.0 <> 0.0",cr,lf,0
  3493.         jmp    EndTest3
  3494. ;
  3495. TheyreEql3:    print
  3496.         db    " -1.0 = 1.0",cr,lf,0
  3497. EndTest3:
  3498. ;
  3499.         lefpal
  3500.         dt    0.0
  3501.         lefpol
  3502.         dt    -1.0
  3503.         fpcmp
  3504.         pushf
  3505.         print
  3506.         db    "AX = ",0
  3507.         puti
  3508.         popf
  3509.         je    TheyreEql4
  3510.         print
  3511.         db    " 0.0 <> -1.0",cr,lf,0
  3512.         jmp    EndTest4
  3513. ;
  3514. TheyreEql4:    print
  3515.         db    " 0.0 = -1.0",cr,lf,0
  3516. EndTest4:
  3517. ;
  3518.         lefpal
  3519.         dt    1.0
  3520.         lefpol
  3521.         dt    1.0
  3522.         fpcmp
  3523.         pushf
  3524.         print
  3525.         db    "AX = ",0
  3526.         puti
  3527.         popf
  3528.         je    TheyreEql5
  3529.         print
  3530.         db    " 1.0 <> 1.0",cr,lf,0
  3531.         jmp    EndTest5
  3532. ;
  3533. TheyreEql5:    print
  3534.         db    " 1.0 = 1.0",cr,lf,0
  3535. EndTest5:
  3536. ;
  3537.         lefpal
  3538.         dt    -1.0
  3539.         lefpol
  3540.         dt    1.0
  3541.         fpcmp
  3542.         pushf
  3543.         print
  3544.         db    "AX = ",0
  3545.         puti
  3546.         popf
  3547.         je    TheyreEql6
  3548.         print
  3549.         db    " -1.0 <> 1.0",cr,lf,0
  3550.         jmp    EndTest6
  3551. ;
  3552. TheyreEql6:    print
  3553.         db    " -1.0 = 1.0",cr,lf,0
  3554. EndTest6:
  3555. ;
  3556.         lefpal
  3557.         dt    -1.0
  3558.         lefpol
  3559.         dt    -1.0
  3560.         fpcmp
  3561.         pushf
  3562.         print
  3563.         db    "AX = ",0
  3564.         puti
  3565.         popf
  3566.         je    TheyreEql7
  3567.         print
  3568.         db    " -1.0 <> -1.0",cr,lf,0
  3569.         jmp    EndTest7
  3570. ;
  3571. TheyreEql7:    print
  3572.         db    " -1.0 = -1.0",cr,lf,0
  3573. EndTest7:
  3574. ;
  3575.         lefpal
  3576.         dt    0.5
  3577.         lefpol
  3578.         dt    1.0
  3579.         fpcmp
  3580.         pushf
  3581.         print
  3582.         db    "AX = ",0
  3583.         puti
  3584.         popf
  3585.         je    TheyreEql8
  3586.         print
  3587.         db    " 0.5 <> 1.0",cr,lf,0
  3588.         jmp    EndTest8
  3589. ;
  3590. TheyreEql8:    print
  3591.         db    " 0.5 = 1.0",cr,lf,0
  3592. EndTest8:
  3593. ;
  3594.         lefpal
  3595.         dt    1.0
  3596.         lefpol
  3597.         dt    0.5
  3598.         fpcmp
  3599.         pushf
  3600.         print
  3601.         db    "AX = ",0
  3602.         puti
  3603.         popf
  3604.         je    TheyreEql9
  3605.         print
  3606.         db    " 1.0 <> 0.5",cr,lf,0
  3607.         jmp    EndTest9
  3608. ;
  3609. TheyreEql9:    print
  3610.         db    " 1.0 = 0.5",cr,lf,0
  3611. EndTest9:
  3612. ;
  3613.         lefpal
  3614.         dt    1.0
  3615.         lefpol
  3616.         dt    1.5
  3617.         fpcmp
  3618.         pushf
  3619.         print
  3620.         db    "AX = ",0
  3621.         puti
  3622.         popf
  3623.         je    TheyreEqla
  3624.         print
  3625.         db    " 1.0 <> 1.5",cr,lf,0
  3626.         jmp    EndTesta
  3627. ;
  3628. TheyreEqla:    print
  3629.         db    " 1.0 = 1.5",cr,lf,0
  3630. EndTesta:
  3631. ;
  3632.         lefpal
  3633.         dt    1.5
  3634.         lefpol
  3635.         dt    1.0
  3636.         fpcmp
  3637.         pushf
  3638.         print
  3639.         db    "(17) AX = ",0
  3640.         puti
  3641.         popf
  3642.         je    TheyreEqlb
  3643.         print
  3644.         db    " 1.5 <> 1.0",cr,lf,0
  3645.         jmp    EndTestb
  3646. ;
  3647. TheyreEqlb:    print
  3648.         db    " 1.5 = 1.0",cr,lf,0
  3649. EndTestb:
  3650. ;
  3651.         lefpal
  3652.         dt    1.00000000000000005
  3653.         lefpol
  3654.         dt    1.0
  3655.         fpcmp
  3656.         pushf
  3657.         print
  3658.         db    "(18) AX = ",0
  3659.         puti
  3660.         popf
  3661.         je    TheyreEqlc
  3662.         print
  3663.         db    " 1.00000000000000005 <> 1.0",cr,lf,0
  3664.         jmp    EndTestc
  3665. ;
  3666. TheyreEqlc:    print
  3667.         db    " 1.00000000000000005 = 1.0",cr,lf,0
  3668. EndTestc:
  3669. ;
  3670.         lefpal
  3671.         dt    1.000000000000000005
  3672.         lefpol
  3673.         dt    1.0
  3674.         fpcmp
  3675.         pushf
  3676.         print
  3677.         db    "(19) AX = ",0
  3678.         puti
  3679.         popf
  3680.         je    TheyreEqld
  3681.         print
  3682.         db    " 1.000000000000000005 <> 1.0",cr,lf,0
  3683.         jmp    EndTestd
  3684. ;
  3685. TheyreEqld:    print
  3686.         db    " 1.000000000000000005 = 1.0",cr,lf,0
  3687. EndTestd:
  3688. ;
  3689.         lefpal
  3690.         dt    1.0000000000000000005
  3691.         lefpol
  3692.         dt    1.0
  3693.         fpcmp
  3694.         pushf
  3695.         print
  3696.         db    "(20) AX = ",0
  3697.         puti
  3698.         popf
  3699.         je    TheyreEqle
  3700.         print
  3701.         db    " 1.0000000000000000005 <> 1.0",cr,lf,0
  3702.         jmp    EndTeste
  3703. ;
  3704. TheyreEqle:    print
  3705.         db    " 1.0000000000000000005 = 1.0",cr,lf,0
  3706. EndTeste:
  3707. ;
  3708.         lefpal
  3709.         dt    1.00000000000000000005
  3710.         lefpol
  3711.         dt    1.0
  3712.         fpcmp
  3713.         pushf
  3714.         print
  3715.         db    "(21) AX = ",0
  3716.         puti
  3717.         popf
  3718.         je    TheyreEqlf
  3719.         print
  3720.         db    " 1.00000000000000000005 <> 1.0",cr,lf,0
  3721.         jmp    EndTestf
  3722. ;
  3723. TheyreEqlf:    print
  3724.         db    " 1.00000000000000000005 = 1.0",cr,lf,0
  3725. EndTestf:
  3726. ;
  3727.         lefpal
  3728.         dt    1.000000000000000000005
  3729.         lefpol
  3730.         dt    1.0
  3731.         fpcmp
  3732.         pushf
  3733.         print
  3734.         db    "(22) AX = ",0
  3735.         puti
  3736.         popf
  3737.         je    TheyreEqlg
  3738.         print
  3739.         db    " 1.000000000000000000005 <> 1.0",cr,lf,0
  3740.         jmp    EndTestg
  3741. ;
  3742. TheyreEqlg:    print
  3743.         db    " 1.000000000000000000005 = 1.0",cr,lf,0
  3744. EndTestg:
  3745. ;
  3746.         lefpal
  3747.         dt    1.0000000000000000000005
  3748.         lefpol
  3749.         dt    1.0
  3750.         fpcmp
  3751.         pushf
  3752.         print
  3753.         db    "(23) AX = ",0
  3754.         puti
  3755.         popf
  3756.         je    TheyreEqlh
  3757.         print
  3758.         db    " 1.0000000000000000000005 <> 1.0",cr,lf,0
  3759.         jmp    EndTesth
  3760. ;
  3761. TheyreEqlh:    print
  3762.         db    " 1.0000000000000000000005 = 1.0",cr,lf,0
  3763. EndTesth:
  3764. ;
  3765.         lefpal
  3766.         dt    1.0e10
  3767.         lefpol
  3768.         dt    1.0e100
  3769.         fpcmp
  3770.         pushf
  3771.         print
  3772.         db    "AX = ",0
  3773.         puti
  3774.         popf
  3775.         je    TheyreEqli
  3776.         print
  3777.         db    " 1.0e10 <> 1.0e100",cr,lf,0
  3778.         jmp    EndTesti
  3779. ;
  3780. TheyreEqli:    print
  3781.         db    " 1.0e10 = 1.0e100",cr,lf,0
  3782. EndTesti:
  3783. ;
  3784.         lefpal
  3785.         dt    1.0e100
  3786.         lefpol
  3787.         dt    1.0e10
  3788.         fpcmp
  3789.         pushf
  3790.         print
  3791.         db    "AX = ",0
  3792.         puti
  3793.         popf
  3794.         je    TheyreEqlj
  3795.         print
  3796.         db    " 1.0e100 <> 1.0e10",cr,lf,0
  3797.         jmp    EndTestj
  3798. ;
  3799. TheyreEqlj:    print
  3800.         db    " 1.0e100 = 1.0e10",cr,lf,0
  3801. EndTestj:
  3802. ;
  3803. ;
  3804.         lefpal
  3805.         dt    1.0e-100
  3806.         lefpol
  3807.         dt    1.0e-10
  3808.         fpcmp
  3809.         pushf
  3810.         print
  3811.         db    "AX = ",0
  3812.         puti
  3813.         popf
  3814.         je    TheyreEqlk
  3815.         print
  3816.         db    " 1.0e-100 <> 1.0e-10",cr,lf,0
  3817.         jmp    EndTestk
  3818. ;
  3819. TheyreEqlk:    print
  3820.         db    " 1.0e-100 = 1.0e-10",cr,lf,0
  3821. EndTestk:
  3822. ;
  3823.         lefpal
  3824.         dt    1.0e-100
  3825.         lefpol
  3826.         dt    1.0e-100
  3827.         fpcmp
  3828.         pushf
  3829.         print
  3830.         db    "AX = ",0
  3831.         puti
  3832.         popf
  3833.         je    TheyreEqll
  3834.         print
  3835.         db    " 1.0e-100 <> 1.0e-100",cr,lf,0
  3836.         jmp    EndTestl
  3837. ;
  3838. TheyreEqll:    print
  3839.         db    " 1.0e-100 = 1.0e-100",cr,lf,0
  3840. EndTestl:
  3841. ;
  3842.         lefpal
  3843.         dt    1.0
  3844.         lefpol
  3845.         dt    2.0
  3846.         fpcmp
  3847.         pushf
  3848.         print
  3849.         db    "AX = ",0
  3850.         puti
  3851.         popf
  3852.         jge    TheyreEqlm
  3853.         print
  3854.         db    " 1.0 < 2.0",cr,lf,0
  3855.         jmp    EndTestm
  3856. ;
  3857. TheyreEqlm:    print
  3858.         db    " 1.0 >= 2.0",cr,lf,0
  3859. EndTestm:
  3860. ;
  3861.         lefpal
  3862.         dt    1.0
  3863.         lefpol
  3864.         dt    2.0
  3865.         fpcmp
  3866.         pushf
  3867.         print
  3868.         db    "AX = ",0
  3869.         puti
  3870.         popf
  3871.         jg    TheyreEqln
  3872.         print
  3873.         db    " 1.0 <= 2.0",cr,lf,0
  3874.         jmp    EndTestn
  3875. ;
  3876. TheyreEqln:    print
  3877.         db    " 1.0 > 2.0",cr,lf,0
  3878. EndTestn:
  3879. ;
  3880.         lefpal
  3881.         dt    1.0
  3882.         lefpol
  3883.         dt    2.0
  3884.         fpcmp
  3885.         pushf
  3886.         print
  3887.         db    "AX = ",0
  3888.         puti
  3889.         popf
  3890.         jle    TheyreEqlo
  3891.         print
  3892.         db    " 1.0 > 2.0",cr,lf,0
  3893.         jmp    EndTesto
  3894. ;
  3895. TheyreEqlo:    print
  3896.         db    " 1.0 <= 2.0",cr,lf,0
  3897. EndTesto:
  3898. ;
  3899.         lefpal
  3900.         dt    2.0
  3901.         lefpol
  3902.         dt    1.0
  3903.         fpcmp
  3904.         pushf
  3905.         print
  3906.         db    "AX = ",0
  3907.         puti
  3908.         popf
  3909.         jle    TheyreEqlp
  3910.         print
  3911.         db    " 2.0 > 1.0",cr,lf,0
  3912.         jmp    EndTestp
  3913. ;
  3914. TheyreEqlp:    print
  3915.         db    " 2.0 <= 1.0",cr,lf,0
  3916. EndTestp:
  3917.         putcr
  3918.         putcr
  3919. ;
  3920. ;
  3921. ;
  3922. ;
  3923. ;
  3924. ;
  3925. ;
  3926. ;----------
  3927. ;
  3928.         print
  3929.         db    "Testing FTOAM...",cr,lf,0
  3930. ;
  3931.         print
  3932.         db    "Printing various forms of 1.12345678901234567890"
  3933.         db    cr,lf,"Remember only 17 significant digits get printed"
  3934.         db    cr,lf,0
  3935.         lefpal
  3936.         dt    1.12345678901234567890
  3937.         mov    cx, 20
  3938. DigitsLoop:    mov    ah, cl
  3939.         mov    al, 24
  3940.         ftoam
  3941.         puts
  3942.         free
  3943.         putcr
  3944.         loop    DigitsLoop
  3945. ;
  3946.         print
  3947.         db    cr,lf,"Testing FTOA...",cr,lf,0
  3948.         mov    cx, 20
  3949. DigitsLoop2:    mov    ah, cl
  3950.         mov    al, 24
  3951.         lesi    Output
  3952.         ftoa
  3953.         puts
  3954.         putcr
  3955.         loop    DigitsLoop2
  3956. ;
  3957.         print
  3958.         db    cr,lf,"Testing FTOA2 (  1.00  1.00)",cr,lf,'"',0
  3959.         lefpal
  3960.         dt    1.0
  3961.         lesi    Output
  3962.         mov    ax,206h
  3963.         ftoa2
  3964.         ftoa2
  3965.         lesi    Output
  3966.         puts
  3967.         mov    al, '"'
  3968.         putc
  3969.         putcr
  3970. ;
  3971. ;
  3972. ;
  3973. ;----------
  3974. ;
  3975.         print
  3976.         db    cr,lf
  3977.         db    "Testing ETOAM...",cr,lf,0
  3978. ;
  3979.         print
  3980.         db    "Printing various forms of 1.12345678901234567890"
  3981.         db    cr,lf,"Remember only 17 significant digits get printed"
  3982.         db    cr,lf,0
  3983.         lefpal
  3984.         dt    1.12345678901234567890
  3985.         mov    cx, 20
  3986. DigitsLoop3:    mov    al, cl
  3987.         add    al, 8
  3988.         etoam
  3989.         puts
  3990.         free
  3991.         putcr
  3992.         loop    DigitsLoop3
  3993. ;
  3994.         print
  3995.         db    cr,lf,"Testing ETOA...",cr,lf,0
  3996.         mov    cx, 20
  3997. DigitsLoop4:    mov    al, cl
  3998.         add    al, 8
  3999.         puth
  4000.         print
  4001.         db    ": ",0
  4002.         lesi    Output
  4003.         etoa
  4004.         puts
  4005.         putcr
  4006.         loop    DigitsLoop4
  4007. ;
  4008.         print
  4009.         db    cr,lf,"Testing ETOA2",cr,lf,'"',0
  4010.         lefpal
  4011.         dt    1.0
  4012.         lesi    Output
  4013.         mov    ax,20ah
  4014.         etoa2
  4015.         etoa2
  4016.         lesi    Output
  4017.         puts
  4018.         mov    al, '"'
  4019.         putc
  4020.         putcr
  4021. ;
  4022. ;
  4023. ;------
  4024. ;
  4025. Testatof    macro    op
  4026.         lesi    op
  4027.         puts
  4028.         print
  4029.         db    " = ",0
  4030.         atof
  4031.         ftoam
  4032.         mov    al, 32
  4033.         etoam
  4034.         puts
  4035.         putcr
  4036.         endm
  4037. ;
  4038. ;
  4039.         print
  4040.         db    cr,lf,"Testing ATOF...",cr,lf,lf,0
  4041. ;
  4042.         Testatof    Testatof1
  4043.         Testatof    Testatof2
  4044.         Testatof    Testatof3
  4045.         Testatof    Testatof4
  4046.         Testatof    Testatof5
  4047.         Testatof    Testatof6
  4048.         Testatof    Testatof7
  4049.         Testatof    Testatof8
  4050.         Testatof    Testatof9
  4051.         Testatof    Testatof10
  4052.         Testatof    Testatof11
  4053.         Testatof    Testatof12
  4054.         Testatof    Testatof13
  4055.         Testatof    Testatof14
  4056.         Testatof    Testatof15
  4057.         Testatof    Testatof16
  4058.         Testatof    Testatof17
  4059.         Testatof    Testatof18
  4060.         Testatof    Testatof19
  4061.         Testatof    Testatof20
  4062.         Testatof    Testatof21
  4063.         Testatof    Testatof22
  4064.         Testatof    Testatof23
  4065.         Testatof    Testatof24
  4066.         Testatof    Testatof25
  4067.         Testatof    Testatof26
  4068.         Testatof    Testatof27
  4069.         Testatof    Testatof28
  4070.         Testatof    Testatof29
  4071.         Testatof    Testatof30
  4072.         Testatof    Testatof31
  4073.         Testatof    Testatof32
  4074.         Testatof    Testatof33
  4075.         Testatof    Testatof34
  4076.         Testatof    Testatof35
  4077.         Testatof    Testatof36
  4078.         Testatof    Testatof37
  4079.         Testatof    Testatof38
  4080.         Testatof    Testatof39
  4081.         Testatof    Testatof40
  4082.         Testatof    Testatof41
  4083.         Testatof    Testatof42
  4084.         Testatof    Testatof43
  4085.         Testatof    Testatof44
  4086.         Testatof    Testatof45
  4087.         Testatof    Testatof46
  4088.         Testatof    Testatof47
  4089.         Testatof    Testatof48
  4090.         Testatof    Testatof49
  4091.         Testatof    Testatof50
  4092.         Testatof    Testatof51
  4093.         Testatof    Testatof52
  4094. ;
  4095.         putcr
  4096. ;
  4097.         Testatof    mTestatof11
  4098.         Testatof    mTestatof12
  4099.         Testatof    mTestatof13
  4100.         Testatof    mTestatof14
  4101.         Testatof    mTestatof15
  4102.         Testatof    mTestatof16
  4103.         Testatof    mTestatof17
  4104.         Testatof    mTestatof18
  4105.         Testatof    mTestatof19
  4106.         Testatof    mTestatof20
  4107.         Testatof    mTestatof21
  4108.         Testatof    mTestatof22
  4109.         Testatof    mTestatof23
  4110.         Testatof    mTestatof24
  4111.         Testatof    mTestatof25
  4112.         Testatof    mTestatof26
  4113.         Testatof    mTestatof27
  4114.         Testatof    mTestatof28
  4115.         Testatof    mTestatof29
  4116.         Testatof    mTestatof30
  4117.         Testatof    mTestatof31
  4118.         Testatof    mTestatof32
  4119.         Testatof    mTestatof33
  4120.         Testatof    mTestatof34
  4121.         Testatof    mTestatof35
  4122.         Testatof    mTestatof36
  4123.         Testatof    mTestatof37
  4124.         Testatof    mTestatof38
  4125.         Testatof    mTestatof39
  4126.         Testatof    mTestatof40
  4127.         Testatof    mTestatof41
  4128.         Testatof    mTestatof42
  4129.         Testatof    mTestatof43
  4130.         Testatof    mTestatof44
  4131.         Testatof    mTestatof45
  4132.         Testatof    mTestatof46
  4133.         Testatof    mTestatof47
  4134.         Testatof    mTestatof48
  4135.         Testatof    mTestatof49
  4136.         Testatof    mTestatof50
  4137.         Testatof    mTestatof51
  4138.         Testatof    mTestatof52
  4139.         putcr
  4140.         putcr
  4141. ;
  4142. ;
  4143. ;
  4144. ;---------
  4145. ;
  4146.         print
  4147.         db    "Testing FTOI...",cr,lf,lf,0
  4148. ;
  4149.         lefpal
  4150.         dt    1.0
  4151.         ftoi
  4152.         print
  4153.         db    "1.0 = ",0
  4154.         puti
  4155. ;
  4156.         lefpal
  4157.         dt    10.0
  4158.         ftoi
  4159.         print
  4160.         db    cr,lf,"10.0 = ",0
  4161.         puti
  4162. ;
  4163.         lefpal
  4164.         dt    100.0
  4165.         ftoi
  4166.         print
  4167.         db    cr,lf,"100.0 = ",0
  4168.         puti
  4169. ;
  4170.         lefpal
  4171.         dt    1000.0
  4172.         ftoi
  4173.         print
  4174.         db    cr,lf,"1000.0 = ",0
  4175.         puti
  4176. ;
  4177.         lefpal
  4178.         dt    10000.0
  4179.         ftoi
  4180.         print
  4181.         db    cr,lf,"10000.0 = ",0
  4182.         puti
  4183. ;
  4184.         lefpal
  4185.         dt    32767.0
  4186.         ftoi
  4187.         print
  4188.         db    cr,lf,"32767.0 = ",0
  4189.         puti
  4190. ;
  4191.         lefpal
  4192.         dt    0.0
  4193.         ftoi
  4194.         print
  4195.         db    cr,lf,"0.0 = ",0
  4196.         puti
  4197. ;
  4198.         lefpal
  4199.         dt    -1.0
  4200.         ftoi
  4201.         print
  4202.         db    cr,lf,"-1.0 = ",0
  4203.         puti
  4204. ;
  4205.         lefpal
  4206.         dt    -10.0
  4207.         ftoi
  4208.         print
  4209.         db    cr,lf,"-10.0 = ",0
  4210.         puti
  4211. ;
  4212.         lefpal
  4213.         dt    -100.0
  4214.         ftoi
  4215.         print
  4216.         db    cr,lf,"-100.0 = ",0
  4217.         puti
  4218. ;
  4219.         lefpal
  4220.         dt    -1000.0
  4221.         ftoi
  4222.         print
  4223.         db    cr,lf,"-1000.0 = ",0
  4224.         puti
  4225. ;
  4226.         lefpal
  4227.         dt    -10000.0
  4228.         ftoi
  4229.         print
  4230.         db    cr,lf,"-10000.0 = ",0
  4231.         puti
  4232. ;
  4233.         lefpal
  4234.         dt    -32768.0
  4235.         ftoi
  4236.         print
  4237.         db    cr,lf,"-32768.0 = ",0
  4238.         puti
  4239. ;
  4240. ;
  4241. ;---------
  4242. ;
  4243.         print
  4244.         db    cr,lf,lf,"Testing FTOU...",cr,lf,lf,0
  4245. ;
  4246.         lefpal
  4247.         dt    1.0
  4248.         ftou
  4249.         print
  4250.         db    "1.0 = ",0
  4251.         putu
  4252. ;
  4253.         lefpal
  4254.         dt    10.0
  4255.         ftou
  4256.         print
  4257.         db    cr,lf,"10.0 = ",0
  4258.         putu
  4259. ;
  4260.         lefpal
  4261.         dt    100.0
  4262.         ftou
  4263.         print
  4264.         db    cr,lf,"100.0 = ",0
  4265.         putu
  4266. ;
  4267.         lefpal
  4268.         dt    1000.0
  4269.         ftou
  4270.         print
  4271.         db    cr,lf,"1000.0 = ",0
  4272.         putu
  4273. ;
  4274.         lefpal
  4275.         dt    10000.0
  4276.         ftou
  4277.         print
  4278.         db    cr,lf,"10000.0 = ",0
  4279.         putu
  4280. ;
  4281.         lefpal
  4282.         dt    65535.0
  4283.         ftou
  4284.         print
  4285.         db    cr,lf,"65535.0 = ",0
  4286.         putu
  4287. ;
  4288.         lefpal
  4289.         dt    0.0
  4290.         ftou
  4291.         print
  4292.         db    cr,lf,"0.0 = ",0
  4293.         putu
  4294. ;
  4295. ;
  4296. ;---------
  4297. ;
  4298.         print
  4299.         db    cr,lf,lf,"Testing FTOL...",cr,lf,lf,0
  4300. ;
  4301.         lefpal
  4302.         dt    1.0
  4303.         ftol
  4304.         print
  4305.         db    "1.0 = ",0
  4306.         putl
  4307.         print
  4308.         db    "  ",0
  4309.         xchg    dx, ax
  4310.         putw
  4311.         xchg    dx, ax
  4312.         putw
  4313. ;
  4314.         lefpal
  4315.         dt    10.0
  4316.         ftol
  4317.         print
  4318.         db    cr,lf,"10.0 = ",0
  4319.         putl
  4320. ;
  4321.         lefpal
  4322.         dt    100.0
  4323.         ftol
  4324.         print
  4325.         db    cr,lf,"100.0 = ",0
  4326.         putl
  4327. ;
  4328.         lefpal
  4329.         dt    1000.0
  4330.         ftol
  4331.         print
  4332.         db    cr,lf,"1000.0 = ",0
  4333.         putl
  4334. ;
  4335.         lefpal
  4336.         dt    10000.0
  4337.         ftol
  4338.         print
  4339.         db    cr,lf,"10000.0 = ",0
  4340.         putl
  4341. ;
  4342.         lefpal
  4343.         dt    32767.0
  4344.         ftol
  4345.         print
  4346.         db    cr,lf,"32767.0 = ",0
  4347.         putl
  4348. ;
  4349.         lefpal
  4350.         dt    32768.0
  4351.         ftol
  4352.         print
  4353.         db    cr,lf,"32768.0 = ",0
  4354.         putl
  4355. ;
  4356.         lefpal
  4357.         dt    65535.0
  4358.         ftol
  4359.         print
  4360.         db    cr,lf,"65535.0 = ",0
  4361.         putl
  4362. ;
  4363.         lefpal
  4364.         dt    65536.0
  4365.         ftol
  4366.         print
  4367.         db    cr,lf,"65536.0 = ",0
  4368.         putl
  4369. ;
  4370.         lefpal
  4371.         dt    100000.0
  4372.         ftol
  4373.         print
  4374.         db    cr,lf,"100000.0 = ",0
  4375.         putl
  4376. ;
  4377.         lefpal
  4378.         dt    1000000.0
  4379.         ftol
  4380.         print
  4381.         db    cr,lf,"1000000.0 = ",0
  4382.         putl
  4383. ;
  4384.         lefpal
  4385.         dt    2.0e9
  4386.         ftol
  4387.         print
  4388.         db    cr,lf,"2e9 = ",0
  4389.         putl
  4390. ;
  4391.         lefpal
  4392.         dt    0.0
  4393.         ftol
  4394.         print
  4395.         db    cr,lf,"0.0 = ",0
  4396.         putl
  4397. ;
  4398.         lefpal
  4399.         dt    -1.0
  4400.         ftol
  4401.         print
  4402.         db    cr,lf,"-1.0 = ",0
  4403.         putl
  4404. ;
  4405.         lefpal
  4406.         dt    -10.0
  4407.         ftol
  4408.         print
  4409.         db    cr,lf,"-10.0 = ",0
  4410.         putl
  4411. ;
  4412.         lefpal
  4413.         dt    -100.0
  4414.         ftol
  4415.         print
  4416.         db    cr,lf,"-100.0 = ",0
  4417.         putl
  4418. ;
  4419.         lefpal
  4420.         dt    -1000.0
  4421.         ftol
  4422.         print
  4423.         db    cr,lf,"-1000.0 = ",0
  4424.         putl
  4425. ;
  4426.         lefpal
  4427.         dt    -10000.0
  4428.         ftol
  4429.         print
  4430.         db    cr,lf,"-10000.0 = ",0
  4431.         putl
  4432. ;
  4433.         lefpal
  4434.         dt    -32768.0
  4435.         ftol
  4436.         print
  4437.         db    cr,lf,"-32768.0 = ",0
  4438.         putl
  4439. ;
  4440. ;
  4441. ;
  4442. ;---------
  4443. ;
  4444.         print
  4445.         db    cr,lf,lf,"Testing FTOUL...",cr,lf,lf,0
  4446. ;
  4447.         lefpal
  4448.         dt    1.0
  4449.         ftoul
  4450.         print
  4451.         db    "1.0 = ",0
  4452.         putul
  4453. ;
  4454.         lefpal
  4455.         dt    10.0
  4456.         ftoul
  4457.         print
  4458.         db    cr,lf,"10.0 = ",0
  4459.         putul
  4460. ;
  4461.         lefpal
  4462.         dt    100.0
  4463.         ftoul
  4464.         print
  4465.         db    cr,lf,"100.0 = ",0
  4466.         putul
  4467. ;
  4468.         lefpal
  4469.         dt    1000.0
  4470.         ftoul
  4471.         print
  4472.         db    cr,lf,"1000.0 = ",0
  4473.         putul
  4474. ;
  4475.         lefpal
  4476.         dt    10000.0
  4477.         ftoul
  4478.         print
  4479.         db    cr,lf,"10000.0 = ",0
  4480.         putul
  4481. ;
  4482.         lefpal
  4483.         dt    32767.0
  4484.         ftoul
  4485.         print
  4486.         db    cr,lf,"32767.0 = ",0
  4487.         putul
  4488. ;
  4489.         lefpal
  4490.         dt    32768.0
  4491.         ftoul
  4492.         print
  4493.         db    cr,lf,"32768.0 = ",0
  4494.         putul
  4495. ;
  4496.         lefpal
  4497.         dt    65535.0
  4498.         ftoul
  4499.         print
  4500.         db    cr,lf,"65535.0 = ",0
  4501.         putul
  4502. ;
  4503.         lefpal
  4504.         dt    65536.0
  4505.         ftoul
  4506.         print
  4507.         db    cr,lf,"65536.0 = ",0
  4508.         putul
  4509. ;
  4510.         lefpal
  4511.         dt    100000.0
  4512.         ftoul
  4513.         print
  4514.         db    cr,lf,"100000.0 = ",0
  4515.         putul
  4516. ;
  4517.         lefpal
  4518.         dt    1000000.0
  4519.         ftoul
  4520.         print
  4521.         db    cr,lf,"1000000.0 = ",0
  4522.         putul
  4523. ;
  4524.         mov    ax, 0ffffh
  4525.         mov    dx, 07fffh
  4526.         ultof
  4527.         ftoul
  4528.         print
  4529.         db    cr,lf,"2^31-1 = ",0
  4530.         putul
  4531. ;
  4532. ;
  4533.         mov    ax, 0ffffh
  4534.         mov    dx, ax
  4535.         ultof
  4536.         ftoul
  4537.         print
  4538.         db    cr,lf,"2^32-1 = ",0
  4539.         putul
  4540. ;
  4541.         lefpal
  4542.         dt    0.0
  4543.         ftoul
  4544.         print
  4545.         db    cr,lf,"0.0 = ",0
  4546.         putul
  4547. ;
  4548. ;
  4549. ;
  4550. ;
  4551. ;
  4552. ;
  4553. ;
  4554. ;***************************************************************************
  4555. ;
  4556. ;
  4557. ;
  4558. Quit:        mov     ah, 4ch
  4559.         int     21h
  4560. ;
  4561. ;
  4562. Main        endp
  4563. ;
  4564. ;
  4565. ;
  4566. ;
  4567. ; Putfpacc- Prints the floating point accumulator:
  4568. ;
  4569. Putfpacc    proc    near
  4570.         assume    ds:StdGrp
  4571.         push    ds
  4572.         push    ax
  4573.         mov    ax, StdGrp
  4574.         mov    ds, ax
  4575.         call    Putspace
  4576.         call    Putspace
  4577.         mov    al, StdGrp:fpacc
  4578.         puth
  4579.         call    Putspace
  4580.         mov    al, StdGrp:fpacc+1
  4581.         puth
  4582.         call    Putspace
  4583.         mov    al, StdGrp:fpacc+2
  4584.         puth
  4585.         call    Putspace
  4586.         mov    al, StdGrp:fpacc+3
  4587.         puth
  4588.         call    Putspace
  4589.         mov    al, StdGrp:fpacc+4
  4590.         puth
  4591.         call    Putspace
  4592.         mov    al, StdGrp:fpacc+5
  4593.         puth
  4594.         call    Putspace
  4595.         mov    al, StdGrp:fpacc+6
  4596.         puth
  4597.         call    Putspace
  4598.         mov    al, StdGrp:fpacc+7
  4599.         puth
  4600.         call    Putspace
  4601.         call    Putspace
  4602.         mov    al, StdGrp:fpacc+8
  4603.         puth
  4604.         call    Putspace
  4605.         mov    al, StdGrp:fpacc+9
  4606.         puth
  4607.         call    Putspace
  4608.         call    Putspace
  4609.         mov    al, StdGrp:fpacc+10
  4610.         puth
  4611. ;
  4612.         pop    ax
  4613.         pop    ds
  4614.         ret
  4615. PutFpacc    endp
  4616.         assume    ds:dseg
  4617. ;
  4618. PutSpace    proc    near
  4619.         push    ax
  4620.         mov    al, " "
  4621.         putc
  4622.         pop    ax
  4623.         ret
  4624. PutSpace    endp
  4625. ;
  4626. cseg            ends
  4627. ;
  4628. ;
  4629. ; Allocate a reasonable amount of space for the stack (2k).
  4630. ;
  4631. sseg        segment    para stack 'stack'
  4632. stk        db    256 dup ("stack   ")
  4633. sseg        ends
  4634. ;
  4635. ;
  4636. ;
  4637. ; zzzzzzseg must be the last segment that gets loaded into memory!
  4638. ;
  4639. zzzzzzseg    segment    para public 'zzzzzz'
  4640. LastBytes    db    16 dup (?)
  4641. heap        db    1024 dup (?)
  4642. zzzzzzseg    ends
  4643.         end    Main
  4644.